version: '3.8' services: db: image: postgres:latest restart: always user: postgres volumes: - db-data:/var/lib/postgresql/data environment: POSTGRES_USER: ${PG_USER} POSTGRES_DB: ${PG_DATABASE} POSTGRES_PASSWORD: ${PG_PASSWORD} expose: - ${PG_PORT} healthcheck: test: [ "CMD", "pg_isready", "-U", "${PG_USER}" ] interval: 10s timeout: 5s retries: 5 web-chat: build: context: . environment: NODE_ENV: production APP_PORT: ${APP_PORT} PG_HOST: ${PG_HOST} PG_USER: ${PG_USER} PG_DATABASE: ${PG_DATABASE} PG_PASSWORD: ${PG_PASSWORD} SESSION_SECRET: ${SESSION_SECRET} JWT_SECRET: ${JWT_SECRET} ports: - ${APP_PORT}:${APP_PORT} depends_on: db: condition: service_healthy volumes: db-data: