--- ############################################################################## # 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: - pharos-data:/var/lib/postgresql/data rabbitmq: image: 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