services: db: image: postgres:16-alpine container_name: asevent-db environment: POSTGRES_USER: ${POSTGRES_USER:-asevent} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-asevent} POSTGRES_DB: ${POSTGRES_DB:-asevent} volumes: - asevent_pgdata:/var/lib/postgresql/data # 首次启动自动执行建表脚本 - ./ddl/own_db_init.sql:/docker-entrypoint-initdb.d/01_init.sql:ro healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-asevent}"] interval: 5s timeout: 3s retries: 10 restart: unless-stopped backend: build: context: . dockerfile: backend/Dockerfile container_name: asevent-backend env_file: .env depends_on: db: condition: service_healthy ports: - "${BACKEND_PORT:-8000}:8000" restart: unless-stopped volumes: asevent_pgdata: