workouttest_server/data/config/docker-compose_gitlab.yml
2020-06-04 07:37:52 +02:00

143 lines
3.5 KiB
YAML

version: '3.8'
services:
demo:
image: ehazlett/docker-demo
deploy:
replicas: 1
labels:
com.docker.lb.hosts: aitrainer.app
com.docker.lb.network: bosi-network
com.docker.lb.port: 8080
com.docker.lb.ssl_cert: demo_app.example.org.cert
com.docker.lb.ssl_key: demo_app.example.org.key
environment:
METADATA: proxy-handles-tls
networks:
- demo-network
gitlab:
image: 'gitlab/gitlab-ce:latest'
container_name: 'gitlab'
restart: always
hostname: 'localhost'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://aitrainer.app'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "email-smtp.eu-west-1.amazonaws.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "AKIAIWHHQDMPADT7ETHQ"
gitlab_rails['smtp_password'] = "AjCB8NA+61i/URp09gik0HHtbEuy48e4JXhuPaqGacFs"
gitlab_rails['smtp_domain'] = "aitrainer.app"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
# Add any other gitlab.rb configuration here, each on its own line
gitlab_rails['gitlab_shell_ssh_port'] = 6622
ports:
- '80:80'
- '443:443'
- '6622:22'
- '587:587'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
mysql:
image: mysql:latest
volumes:
- db_data:/var/lib/mysql_aitrainer
restart: always
ports:
- 33061:33061
environment:
MYSQL_ROOT_PASSWORD: /run/secrets/mysql_root_pwd
MYSQL_DATABASE: aitrainer
MYSQL_USER: aitrainer
MYSQL_PASSWORD: /run/secrets/mysql_user_pwd
networks:
- bosi_default
phpmyadmin:
depends_on:
- mysql
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '8081:80'
environment:
PMA_HOST: mysql
MYSQL_ROOT_PASSWORD: andio2009
networks:
- bosi_default
php:
image: php:7.2-fpm
volumes:
- php:/var/www/html
- ./php/php.ini:/usr/local/etc/php/php.ini
depends_on:
- mysql
gitlab-runner:
image: gitlab/gitlab-runner:latest
container_name: gitlab-runner
restart: always
networks:
- bosi_default
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /srv/gitlab-runner/config:/etc/gitlab-runner
secrets:
mysql_root_pwd:
file: /.sec/mysql_root_pwd
mysql_user_pwd:
file: /.sec/mysql_user_pwd
networks:
bosi_default:
volumes:
db_data:
php:
openssl req \
-new \
-newkey rsa:4096 \
-days 3650 \
-nodes \
-x509 \
-subj "/C=US/ST=CA/L=SF/O=Docker-demo/CN=aitrainer.app" \
-keyout aitrainer.app.key \
-out aitrainer.app.cert
version: "3.2"
services:
demo:
image: proxy
command: --tls-cert=/run/secrets/cert.pem --tls-key=/run/secrets/key.pem
deploy:
replicas: 1
labels:
com.docker.lb.hosts: aitrainer.app
com.docker.lb.network: proxy-network
com.docker.lb.port: 8029
com.docker.lb.ssl_passthrough: "true"
environment:
METADATA: end-to-end-TLS
networks:
- proxy-network
secrets:
- source: aitrainer.app.cert
target: /run/secrets/cert.pem
- source: aitrainer.app.org.key
target: /run/secrets/key.pem
networks:
demo-network:
driver: overlay
secrets:
aitrainer.app.cert:
file: ./aitrainer.app.cert
aitrainer.app.key:
file: ./aitrainer.app.key