153 lines
4.2 KiB
YAML
153 lines
4.2 KiB
YAML
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
|
|
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/ -verbose
|
|
links:
|
|
- elastic
|
|
kibana:
|
|
image: armadillica/kibana:latest
|
|
container_name: kibana
|
|
restart: always
|
|
environment:
|
|
SERVER_NAME: "stats.cloud.blender.org"
|
|
ELASTICSEARCH_URL: http://elasticproxy:9200
|
|
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:
|
|
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
|
|
environment:
|
|
VIRTUAL_HOST: http://cloud.blender.org/stats/*,https://cloud.blender.org/stats/*,http://blender-cloud/stats/*
|
|
VIRTUAL_HOST_WEIGHT: 20
|
|
FORCE_SSL: "true"
|
|
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
|
|
links:
|
|
- blender_cloud
|
|
- grafista
|
|
# - notifserv
|
|
- letsencrypt
|
|
- kibana
|
|
volumes:
|
|
- '/data/certs:/certs'
|