version: '3.8' services: db: image: docker.arvancloud.ir/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: ./apps/api dockerfile: Dockerfile container_name: goldbank_api depends_on: - db environment: - DATABASE_URL=${DATABASE_URL:-postgresql://postgres:postgres@db:5432/goldbank?schema=public} - PORT=${PORT:-3000} # No host ports — Dokploy/Traefik routes by domain to container port 3000 expose: - "3000" restart: unless-stopped admin-panel: build: context: ./apps/admin-panel dockerfile: Dockerfile container_name: goldbank_admin_panel # No host ports — Dokploy/Traefik routes by domain to container port 80 expose: - "80" restart: unless-stopped depends_on: - api user-app: build: context: ./apps/user-app dockerfile: Dockerfile container_name: goldbank_user_app # No host ports — Dokploy/Traefik routes by domain to container port 80 expose: - "80" restart: unless-stopped depends_on: - api volumes: postgres_data: