services: vote: build: ./ # use python rather than gunicorn for local dev command: python app.py depends_on: redis: condition: service_healthy volumes: - app ports: - "5000:80" networks: - front-tier - back-tier result: build: ./ # use nodemon rather than node for local dev command: nodemon server.js depends_on: db: condition: service_healthy volumes: - app ports: - "5001:80" - "5858:5858" networks: - front-tier - back-tier worker: build: context: ./ depends_on: redis: condition: service_healthy db: condition: service_healthy networks: - back-tier redis: image: redis:5.0-alpine3.10 volumes: - "./healthchecks:/healthchecks" healthcheck: test: /healthchecks/redis.sh interval: "5s" ports: ["6379"] networks: - back-tier db: image: postgres:9.4 environment: POSTGRES_USER: "postgres" POSTGRES_PASSWORD: "postgres" volumes: - "db-data:/var/lib/postgresql/data" - "./healthchecks:/healthchecks" healthcheck: test: /healthchecks/postgres.sh interval: "5s" networks: - back-tier volumes: db-data: networks: front-tier: back-tier: