Upgraded docker-compose.yaml file format from 1 to 3.4

This allows us to set logging options, which weren't available in version 1.
I've also added newlines around each service definition, and made the
formatting consistent across the entire file (using align-yaml, one of the
tools of the atom-beautify plugin for Atom).
This commit is contained in:
2017-12-22 11:53:23 +01:00
committed by Sybren A. Stüvel
parent 4c2632669b
commit 617b600ce8

View File

@@ -1,151 +1,165 @@
mongo: version: '3.4'
image: mongo:3.4.2 services:
container_name: mongo mongo:
restart: always image: mongo:3.4.2
volumes: container_name: mongo
- /data/storage/db:/data/db restart: always
- /data/storage/db-bak:/data/db-bak # for backing up stuff etc.
ports:
- "127.0.0.1:27017:27017"
redis:
image: redis:3.2.8
container_name: redis
restart: always
ports:
- "127.0.0.1:6379:6379"
rabbit:
image: rabbitmq:3.6.10
container_name: rabbit
restart: always
ports:
- "127.0.0.1:5672:5672"
elastic:
image: armadillica/elasticsearch:latest
container_name: elastic
restart: always
volumes: volumes:
# NOTE: this path must be writable by UID=1000 GID=1000. - /data/storage/db:/data/db
- /data/storage/elastic:/usr/share/elasticsearch/data - /data/storage/db-bak:/data/db-bak # for backing up stuff etc.
ports: ports:
- "127.0.0.1:9200:9200" - "127.0.0.1:27017:27017"
environment:
ES_JAVA_OPTS: "-Xms256m -Xmx256m"
elasticproxy:
image: armadillica/elasticproxy:latest
container_name: elasticproxy
restart: always
command: /elasticproxy -elastic http://elastic:9200/
links:
- elastic
kibana:
image: armadillica/kibana:latest
container_name: kibana
restart: always
environment:
SERVER_NAME: "stats.cloud.blender.org"
ELASTICSEARCH_URL: http://elasticproxy:9200
CONSOLE_ENABLED: 'false'
VIRTUAL_HOST: http://stats.cloud.blender.org/*,https://stats.cloud.blender.org/*,http://stats.blender-cloud/*,https://stats.blender-cloud/*
VIRTUAL_HOST_WEIGHT: 20
FORCE_SSL: "true"
# See https://github.com/elastic/kibana/issues/5170#issuecomment-163042525 redis:
NODE_OPTIONS: "--max-old-space-size=200" image: redis:3.2.8
links: container_name: redis
- elasticproxy restart: always
blender_cloud: ports:
image: armadillica/blender_cloud:latest - "127.0.0.1:6379:6379"
container_name: blender_cloud
restart: always rabbit:
environment: image: rabbitmq:3.6.10
VIRTUAL_HOST: http://cloud.blender.org/*,https://cloud.blender.org/*,http://blender-cloud/*,https://blender-cloud/* container_name: rabbit
VIRTUAL_HOST_WEIGHT: 10 restart: always
FORCE_SSL: "true" ports:
GZIP_COMPRESSION_TYPE: "text/html text/plain text/css application/javascript" - "127.0.0.1:5672:5672"
volumes:
# format: HOST:CONTAINER elastic:
- /data/git:/data/git:ro image: armadillica/elasticsearch:latest
- /data/config:/data/config:ro container_name: elastic
- /data/storage/pillar:/data/storage/pillar restart: always
- /data/log:/var/log volumes:
links: # NOTE: this path must be writable by UID=1000 GID=1000.
- mongo - /data/storage/elastic:/usr/share/elasticsearch/data
- redis ports:
- rabbit - "127.0.0.1:9200:9200"
celery_worker: environment:
image: armadillica/blender_cloud:latest ES_JAVA_OPTS: "-Xms256m -Xmx256m"
entrypoint: /celery-worker.sh
container_name: celery_worker elasticproxy:
restart: always image: armadillica/elasticproxy:latest
volumes: container_name: elasticproxy
# format: HOST:CONTAINER restart: always
- /data/git:/data/git:ro command: /elasticproxy -elastic http://elastic:9200/
- /data/config:/data/config:ro links:
- /data/storage/pillar:/data/storage/pillar - elastic
- /data/log:/var/log
links: kibana:
- mongo image: armadillica/kibana:latest
- redis container_name: kibana
- rabbit restart: always
celery_beat: environment:
image: armadillica/blender_cloud:latest SERVER_NAME: "stats.cloud.blender.org"
entrypoint: /celery-beat.sh ELASTICSEARCH_URL: http://elasticproxy:9200
container_name: celery_beat CONSOLE_ENABLED: 'false'
restart: always VIRTUAL_HOST: http://stats.cloud.blender.org/*,https://stats.cloud.blender.org/*,http://stats.blender-cloud/*,https://stats.blender-cloud/*
volumes: VIRTUAL_HOST_WEIGHT: 20
# format: HOST:CONTAINER FORCE_SSL: "true"
- /data/git:/data/git:ro
- /data/storage/pillar:/data/storage/pillar # See https://github.com/elastic/kibana/issues/5170#issuecomment-163042525
- /data/log:/var/log NODE_OPTIONS: "--max-old-space-size=200"
links: links:
- mongo - elasticproxy
- redis
- rabbit blender_cloud:
# notifserv: image: armadillica/blender_cloud:latest
# container_name: notifserv container_name: blender_cloud
# image: armadillica/pillar-notifserv:cd8fa678436563ac3b800b2721e36830c32e4656 restart: always
# restart: always
# links:
# - mongo
# environment:
# VIRTUAL_HOST: https://cloud.blender.org/notifications*,http://pillar-web/notifications*
# VIRTUAL_HOST_WEIGHT: 20
# FORCE_SSL: true
grafista:
image: armadillica/grafista:latest
container_name: grafista
restart: always
volumes:
- /data/git/grafista:/data/git/grafista:ro
- /data/storage/grafista:/data/storage/grafista
letsencrypt:
image: armadillica/picohttp:latest
container_name: letsencrypt
restart: always
environment: environment:
WEBROOT: /data/letsencrypt VIRTUAL_HOST: http://cloud.blender.org/*,https://cloud.blender.org/*,http://blender-cloud/*,https://blender-cloud/*
LISTEN: '[::]:80' VIRTUAL_HOST_WEIGHT: 10
VIRTUAL_HOST: http://cloud.blender.org/.well-known/*, http://stats.cloud.blender.org/.well-known/* FORCE_SSL: "true"
VIRTUAL_HOST_WEIGHT: 20 GZIP_COMPRESSION_TYPE: "text/html text/plain text/css application/javascript"
volumes: volumes:
- /data/letsencrypt:/data/letsencrypt # format: HOST:CONTAINER
haproxy: - /data/git:/data/git:ro
image: dockercloud/haproxy:1.5.3 - /data/config:/data/config:ro
container_name: haproxy - /data/storage/pillar:/data/storage/pillar
restart: always - /data/log:/var/log
ports: links:
- "443:443" - mongo
- "80:80" - redis
environment: - rabbit
- CERT_FOLDER=/certs/
- TIMEOUT=connect 5s, client 5m, server 10m celery_worker:
- SSL_BIND_CIPHERS=ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS image: armadillica/blender_cloud:latest
- SSL_BIND_OPTIONS=no-sslv3 entrypoint: /celery-worker.sh
- EXTRA_GLOBAL_SETTINGS=tune.ssl.default-dh-param 2048 container_name: celery_worker
links: restart: always
- blender_cloud volumes:
# - notifserv # format: HOST:CONTAINER
- letsencrypt - /data/git:/data/git:ro
- kibana - /data/config:/data/config:ro
volumes: - /data/storage/pillar:/data/storage/pillar
- '/data/certs:/certs' - /data/log:/var/log
links:
- mongo
- redis
- rabbit
celery_beat:
image: armadillica/blender_cloud:latest
entrypoint: /celery-beat.sh
container_name: celery_beat
restart: always
volumes:
# format: HOST:CONTAINER
- /data/git:/data/git:ro
- /data/storage/pillar:/data/storage/pillar
- /data/log:/var/log
links:
- mongo
- redis
- rabbit
# notifserv:
# container_name: notifserv
# image: armadillica/pillar-notifserv:cd8fa678436563ac3b800b2721e36830c32e4656
# restart: always
# links:
# - mongo
# environment:
# VIRTUAL_HOST: https://cloud.blender.org/notifications*,http://pillar-web/notifications*
# VIRTUAL_HOST_WEIGHT: 20
# FORCE_SSL: true
grafista:
image: armadillica/grafista:latest
container_name: grafista
restart: always
volumes:
- /data/git/grafista:/data/git/grafista:ro
- /data/storage/grafista:/data/storage/grafista
letsencrypt:
image: armadillica/picohttp:latest
container_name: letsencrypt
restart: always
environment:
WEBROOT: /data/letsencrypt
LISTEN: '[::]:80'
VIRTUAL_HOST: http://cloud.blender.org/.well-known/*, http://stats.cloud.blender.org/.well-known/*
VIRTUAL_HOST_WEIGHT: 20
volumes:
- /data/letsencrypt:/data/letsencrypt
haproxy:
image: dockercloud/haproxy:1.5.3
container_name: haproxy
restart: always
ports:
- "443:443"
- "80:80"
environment:
- CERT_FOLDER=/certs/
- TIMEOUT=connect 5s, client 5m, server 10m
- SSL_BIND_CIPHERS=ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
- SSL_BIND_OPTIONS=no-sslv3
- EXTRA_GLOBAL_SETTINGS=tune.ssl.default-dh-param 2048
links:
- blender_cloud
# - notifserv
- letsencrypt
- kibana
volumes:
- '/data/certs:/certs'