# tw-erp 內網部署:docker compose up -d --build # 前端+API 單埠 3000;資料在 named volume twerp-pgdata(備份見 scripts/backup.sh) services: db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: twerp POSTGRES_USER: twerp POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?請在 .env 設定 POSTGRES_PASSWORD} volumes: - twerp-pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U twerp -d twerp"] interval: 5s timeout: 3s retries: 10 app: build: . restart: unless-stopped depends_on: db: condition: service_healthy environment: DATABASE_URL: postgres://twerp:${POSTGRES_PASSWORD}@db:5432/twerp ports: - "${APP_PORT:-3000}:3000" volumes: twerp-pgdata: