version: '3.2' services: users-service: container_name: users-service build: context: ./services/users dockerfile: Dockerfile-prod expose: - '5000' environment: - SECRET_KEY=${SECRET_KEY} - APP_SETTINGS=project.config.ProductionConfig - DATABASE_URL=postgres://postgres:postgres@users-db:5432/users_prod - DATABASE_TEST_URL=postgres://postgres:postgres@users-db:5432/users_test depends_on: - users-db links: - users-db users-db: container_name: users-db build: context: ./services/users/project/db dockerfile: Dockerfile expose: - 5432 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres events-service: container_name: events-service build: context: ./services/events dockerfile: Dockerfile-prod volumes: - './services/events:/usr/src/app' ports: - 6000:6000 environment: - SECRET_KEY=my_precious - APP_SETTINGS=project.config.ProductionConfig - DATABASE_URL=postgres://postgres:postgres@events-db:5432/events_prod - DATABASE_TEST_URL=postgres://postgres:postgres@events-db:5432/events_test - NEW_RELIC_ENVIRONMENT = 'production' - NEW_RELIC_APP_NAME = 'Muxer (Production)' - NEW_RELIC_LICENSE_KEY depends_on: - events-db links: - events-db events-db: container_name: events-db build: context: ./services/events/project/db dockerfile: Dockerfile expose: - 5432 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres nginx: container_name: nginx build: ./services/nginx restart: always ports: - 80:80 depends_on: - users-service - client links: - users-service client: container_name: client build: context: ./services/client dockerfile: Dockerfile-prod args: - NODE_ENV=development - REACT_APP_USERS_SERVICE_URL=${REACT_APP_USERS_SERVICE_URL} - REACT_APP_EVENTS_SERVICE_URL=${REACT_APP_EVENTS_SERVICE_URL} ports: - '3007:3000' depends_on: - users-service links: - users-service swagger: container_name: swagger build: context: ./services/swagger dockerfile: Dockerfile-prod ports: - '3008:8080' environment: - URL=swagger.json depends_on: - users-service