--- version: '3.2' services: postgresql: image: postgres volumes: - database:/var/lib/postgresql/data networks: - internal environment: - POSTGRES_PASSWORD=${PG_PASS:-thisisnotagoodpassword} - POSTGRES_USER=passbook - POSTGRES_DB=passbook labels: - traefik.enable=false redis: image: redis networks: - internal labels: - traefik.enable=false server: image: beryju/passbook:${PASSBOOK_TAG:-latest} command: server environment: PASSBOOK_REDIS__HOST: redis PASSBOOK_ERROR_REPORTING: ${PASSBOOK_ERROR_REPORTING:-false} PASSBOOK_POSTGRESQL__HOST: postgresql PASSBOOK_POSTGRESQL__PASSWORD: ${PG_PASS:-thisisnotagoodpassword} PASSBOOK_LOG_LEVEL: debug ports: - 8000 networks: - internal labels: - traefik.port=8000 - traefik.docker.network=internal - traefik.frontend.rule=PathPrefix:/ worker: image: beryju/passbook:${PASSBOOK_TAG:-latest} command: worker networks: - internal labels: - traefik.enable=false environment: PASSBOOK_REDIS__HOST: redis PASSBOOK_ERROR_REPORTING: ${PASSBOOK_ERROR_REPORTING:-false} PASSBOOK_POSTGRESQL__HOST: postgresql PASSBOOK_POSTGRESQL__PASSWORD: ${PG_PASS:-thisisnotagoodpassword} PASSBOOK_LOG_LEVEL: debug static: image: beryju/passbook-static:latest networks: - internal labels: - traefik.frontend.rule=PathPrefix:/static, /robots.txt, /favicon.ico - traefik.port=80 - traefik.docker.network=internal traefik: image: traefik:1.7 command: --api --docker --defaultentrypoints=https --entryPoints='Name:http Address::80 Redirect.EntryPoint:https' --entryPoints='Name:https Address::443 TLS' volumes: - /var/run/docker.sock:/var/run/docker.sock:ro ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" - "127.0.0.1:8080:8080" networks: - internal volumes: database: driver: local networks: internal: {}