version: '3.4' services: db: image: "${REGISTRY_NAME}postgres:10.1-alpine" volumes: - postgres_data:/var/lib/postgresql/data/ networks: - "internal" env_file: - ./.env restart: always web: build: context: ./app dockerfile: Dockerfile args: - POSTGRES_DB - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DEPLOYMENT_MODE working_dir: /Yearbook image: "${REGISTRY_NAME}devclubiitd/yearbook:0.1" command: gunicorn yearbook.wsgi:application --bind 0.0.0.0:8000 volumes: - yearbook_media:/Yearbook/media/ - yearbook_static:/Yearbook/static/ expose: - 8000 networks: - "internal" env_file: - ./.env environment: - DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB} - POSTGRES_HOST_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db - VIRTUAL_HOST=${VIRTUAL_HOST} depends_on: - db links: - db:db nginx: image: "${REGISTRY_NAME}devclubiitd/yearbook-nginx:0.1" build: ./nginx volumes: - yearbook_media:/Yearbook/media/ - yearbook_static:/Yearbook/static/ ports: - ${DEPLOY_PORT}:80 depends_on: - web healthcheck: test: ["CMD", "curl", "-f", "http://localhost:${DEPLOY_PORT}"] interval: 1m30s timeout: 10s retries: 3 start_period: 40s networks: - "reverseproxy" - "internal" env_file: - ./.env environment: - DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB} - POSTGRES_HOST_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db - VIRTUAL_HOST=${VIRTUAL_HOST} volumes: postgres_data: yearbook_media: yearbook_static: networks: reverseproxy: external: name: "reverseproxy" internal: