| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | # version is now using "compose spec"# v2 and v3 are now combined!# docker-compose v1.27+ requiredservices:  vote:    build: ./vote    # use python rather than gunicorn for local dev    command: python app.py    depends_on:      redis:        condition: service_healthy    healthcheck:       test: ["CMD", "curl", "-f", "http://localhost"]      interval: 15s      timeout: 5s      retries: 3      start_period: 10s    volumes:     - ./vote:/app    ports:      - "5000:80"    networks:      - front-tier      - back-tier  result:    build: ./result    # use nodemon rather than node for local dev    entrypoint: nodemon --inspect=0.0.0.0 server.js    depends_on:      db:        condition: service_healthy     volumes:      - ./result:/app    ports:      - "5001:80"      - "127.0.0.1:9229:9229"    networks:      - front-tier      - back-tier  worker:    build:      context: ./worker    depends_on:      redis:        condition: service_healthy       db:        condition: service_healthy     networks:      - back-tier  redis:    image: redis:alpine    volumes:      - "./healthchecks:/healthchecks"    healthcheck:      test: /healthchecks/redis.sh      interval: "5s"    networks:      - back-tier  db:    image: postgres:15-alpine    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  # this service runs once to seed the database with votes  # it won't run unless you specify the "seed" profile  # docker compose --profile seed up -d  seed:    build: ./seed-data    profiles: ["seed"]    depends_on:      vote:        condition: service_healthy     networks:      - front-tier    restart: "no"volumes:  db-data:networks:  front-tier:  back-tier:
 |