version: '3.8' services: postgres: image: postgres:16 container_name: hr-portal-db-test environment: POSTGRES_DB: hr_portal POSTGRES_USER: hr_admin POSTGRES_PASSWORD: hr_dev_password_2026 POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" ports: - "5433:5432" # 使用 5433 避免與其他 PostgreSQL 實例衝突 volumes: - hr_portal_db_data:/var/lib/postgresql/data networks: - hr-portal-network healthcheck: test: ["CMD-SHELL", "pg_isready -U hr_admin -d hr_portal"] interval: 10s timeout: 5s retries: 5 pgadmin: image: dpage/pgadmin4:latest container_name: hr-portal-pgadmin environment: PGADMIN_DEFAULT_EMAIL: admin@lab.taipei PGADMIN_DEFAULT_PASSWORD: admin PGADMIN_CONFIG_SERVER_MODE: 'False' ports: - "5050:80" depends_on: - postgres networks: - hr-portal-network volumes: hr_portal_db_data: driver: local networks: hr-portal-network: driver: bridge