services: nginx: image: nginx:alpine container_name: nginx restart: always volumes: - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf:ro ports: - 80:80 depends_on: - adminer - backend - frontend db: image: postgres:alpine container_name: db restart: always networks: - db environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - db:/var/lib/postgresql/data adminer: image: adminer:standalone container_name: adminer restart: always networks: - default - db depends_on: - db redis: image: redis:alpine container_name: redis restart: always networks: - redis volumes: - redis:/data backend: build: context: ./docker/backend args: BUILD_ENV: production container_name: backend restart: always networks: - default - db - redis environment: URL: ${URL} BACKEND_DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_USER} BACKEND_JWT_SECRET: ${BACKEND_JWT_SECRET} BACKEND_WORKER_REDIS_URL: redis://redis:6379 BACKEND_SMTP_HELO: ${BACKEND_SMTP_HELO} BACKEND_SMTP_ADDRESS: ${BACKEND_SMTP_ADDRESS} BACKEND_SMTP_PORT: ${BACKEND_SMTP_PORT} BACKEND_SMTP_NAME: ${BACKEND_SMTP_NAME} BACKEND_SMTP_USERNAME: ${BACKEND_SMTP_USERNAME} BACKEND_SMTP_PASSWORD: ${BACKEND_SMTP_PASSWORD} depends_on: - db - redis frontend: build: context: ./docker/frontend args: BUILD_ENV: production container_name: frontend restart: always networks: - default depends_on: - backend networks: db: redis: volumes: db: redis: