version: '3.3' services: auth: build: context: . dockerfile: ./apps/auth/Dockerfile env_file: - .env depends_on: - db - rabbitmq user: build: context: . dockerfile: ./apps/user/Dockerfile env_file: - .env depends_on: - db - rabbitmq reservation: build: context: . dockerfile: ./apps/reservation/Dockerfile env_file: - .env depends_on: - db - rabbitmq movie: build: context: . dockerfile: ./apps/movie/Dockerfile env_file: - .env depends_on: - db - rabbitmq cinema: build: context: . dockerfile: ./apps/cinema/Dockerfile env_file: - .env depends_on: - db - rabbitmq rabbitmq: image: rabbitmq restart: always ports: - 5672:5672 nginx: image: nginx:latest restart: always ports: - "${PORT}:80" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf.d:/etc/nginx/conf.d depends_on: - user - auth - movie - cinema db: image: postgres:latest restart: always environment: POSTGRES_USER: movie POSTGRES_PASSWORD: movie POSTGRES_DB: movie ports: - 5432:5432 volumes: - pgdata:/var/lib/postgresql/data init_db: build: context: . dockerfile: ./database/Dockerfile target: production args: - DATABASE_URL=${DATABASE_URL} env_file: - .env depends_on: - db command: ["/bin/sh", "-c", "/usr/wait-for-it.sh db:5432 -- npx prisma db push"] maildev: image: djfarrelly/maildev ports: - "${MAIL_CATCHER_PORT}:80" volumes: pgdata: driver: local