From 617b600ce8f8d812caf62f27b824d51f18b49812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=83=C2=BCvel?= Date: Fri, 22 Dec 2017 11:53:23 +0100 Subject: [PATCH] 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). --- docker/docker-compose.yml | 306 ++++++++++++++++++++------------------ 1 file changed, 160 insertions(+), 146 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 47b39b9..a8dbb0a 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,151 +1,165 @@ -mongo: - image: mongo:3.4.2 - container_name: mongo - restart: always - volumes: - - /data/storage/db:/data/db - - /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 +version: '3.4' +services: + mongo: + image: mongo:3.4.2 + container_name: mongo + restart: always volumes: - # NOTE: this path must be writable by UID=1000 GID=1000. - - /data/storage/elastic:/usr/share/elasticsearch/data + - /data/storage/db:/data/db + - /data/storage/db-bak:/data/db-bak # for backing up stuff etc. ports: - - "127.0.0.1:9200:9200" - 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" + - "127.0.0.1:27017:27017" - # See https://github.com/elastic/kibana/issues/5170#issuecomment-163042525 - NODE_OPTIONS: "--max-old-space-size=200" - links: - - elasticproxy -blender_cloud: - image: armadillica/blender_cloud:latest - container_name: blender_cloud - restart: always - environment: - VIRTUAL_HOST: http://cloud.blender.org/*,https://cloud.blender.org/*,http://blender-cloud/*,https://blender-cloud/* - VIRTUAL_HOST_WEIGHT: 10 - FORCE_SSL: "true" - GZIP_COMPRESSION_TYPE: "text/html text/plain text/css application/javascript" - volumes: - # format: HOST:CONTAINER - - /data/git:/data/git:ro - - /data/config:/data/config:ro - - /data/storage/pillar:/data/storage/pillar - - /data/log:/var/log - links: - - mongo - - redis - - rabbit -celery_worker: - image: armadillica/blender_cloud:latest - entrypoint: /celery-worker.sh - container_name: celery_worker - restart: always - volumes: - # format: HOST:CONTAINER - - /data/git:/data/git:ro - - /data/config:/data/config:ro - - /data/storage/pillar:/data/storage/pillar - - /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 + 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: + # NOTE: this path must be writable by UID=1000 GID=1000. + - /data/storage/elastic:/usr/share/elasticsearch/data + ports: + - "127.0.0.1:9200:9200" + 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 + NODE_OPTIONS: "--max-old-space-size=200" + links: + - elasticproxy + + blender_cloud: + image: armadillica/blender_cloud:latest + container_name: blender_cloud + 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 + VIRTUAL_HOST: http://cloud.blender.org/*,https://cloud.blender.org/*,http://blender-cloud/*,https://blender-cloud/* + VIRTUAL_HOST_WEIGHT: 10 + FORCE_SSL: "true" + GZIP_COMPRESSION_TYPE: "text/html text/plain text/css application/javascript" 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' + # format: HOST:CONTAINER + - /data/git:/data/git:ro + - /data/config:/data/config:ro + - /data/storage/pillar:/data/storage/pillar + - /data/log:/var/log + links: + - mongo + - redis + - rabbit + + celery_worker: + image: armadillica/blender_cloud:latest + entrypoint: /celery-worker.sh + container_name: celery_worker + restart: always + volumes: + # format: HOST:CONTAINER + - /data/git:/data/git:ro + - /data/config:/data/config:ro + - /data/storage/pillar:/data/storage/pillar + - /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'