version: '3.8' services: db: image: postgres:15-alpine container_name: goldbank_db environment: POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} POSTGRES_DB: ${POSTGRES_DB:-goldbank} ports: - "${EXTERNAL_DB_PORT:-5432}:5432" volumes: - postgres_data:/var/lib/postgresql/data restart: unless-stopped api: build: context: . dockerfile: apps/api/Dockerfile args: NPM_REGISTRY: ${NPM_REGISTRY:-https://mirror.kargadan.ir/repository/npm-group/} container_name: goldbank_api depends_on: - db environment: - DATABASE_URL=${DATABASE_URL:-postgresql://postgres:postgres@db:5432/goldbank?schema=public} - PORT=${PORT:-3000} ports: - "3000:3000" restart: unless-stopped admin-panel: build: context: . dockerfile: apps/admin-panel/Dockerfile args: NPM_REGISTRY: ${NPM_REGISTRY:-https://mirror.kargadan.ir/repository/npm-group/} container_name: goldbank_admin_panel ports: - "8080:80" restart: unless-stopped depends_on: - api user-app: build: context: . dockerfile: apps/user-app/Dockerfile args: NPM_REGISTRY: ${NPM_REGISTRY:-https://mirror.kargadan.ir/repository/npm-group/} container_name: goldbank_user_app ports: - "8081:80" restart: unless-stopped depends_on: - api volumes: postgres_data: