diff options
Diffstat (limited to 'docker-compose.yml')
-rw-r--r-- | docker-compose.yml | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..44a263f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,77 @@ +--- +############################################################################## +# Copyright (c) 2016 Max Breitenfeldt and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + + +version: '2' +services: + nginx: + restart: always + image: nginx:latest + container_name: ng01 + ports: + - "80:80" + volumes: + - ./config/nginx:/etc/nginx/conf.d + - /var/lib/pharos_dashboard/static:/static + - /var/lib/pharos_dashboard/media:/media + depends_on: + - web + + web: + restart: always + build: ./web/ + container_name: dg01 + # yamllint disable rule:line-length + command: bash -c "python manage.py migrate && python manage.py collectstatic --no-input && gunicorn pharos_dashboard.wsgi -b 0.0.0.0:8000" + # yamllint enable rule:line-length + depends_on: + - postgres + links: + - postgres + env_file: config.env + volumes: + - ./:/pharos_dashboard + - /var/lib/pharos_dashboard/static:/static + - /var/lib/pharos_dashboard/media:/media + expose: + - "8000" + + postgres: + restart: always + image: postgres:latest + container_name: ps01 + env_file: config.env + volumes: + - ./config/postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d + - pharos-data:/var/lib/postgresql/data + + rabbitmq: + restart: always + build: ./rabbitmq/ + container_name: rm01 + env_file: config.env + ports: + - "5672:5672" + + worker: + restart: always + build: ./worker/ + # yamllint disable rule:line-length + command: bash -c "celery -A pharos_dashboard worker -l info -B --schedule=~/celerybeat-schedule" + # yamllint enable rule:line-length + env_file: config.env + links: + - postgres + - rabbitmq + volumes: + - ./:/pharos_dashboard +volumes: + pharos-data: + external: true |