version: '3.8' services: backend: container_name: backend # build: # context: ./backend # dockerfile: ./Dockerfile image: xjz/backend:1.0.0 restart: always environment: TZ: "Asia/Shanghai" # DATABASE_URL: ${DATABASE_URL:-postgresql+asyncpg://user:password@postgres:5432/payment} # REDIS_URL: ${REDIS_URL:-redis://redis:6379/0} # ALIPAY_APP_ID: ${ALIPAY_APP_ID:-""} # ALIPAY_PRIVATE_KEY: ${ALIPAY_PRIVATE_KEY:-""} # ALIPAY_PUBLIC_KEY: ${ALIPAY_PUBLIC_KEY:-""} ports: - "8001:8001" volumes: - ./backend:/app networks: - app-tier healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8001/api/v1/payment/notify/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s frontend: container_name: frontend # build: # context: ./frontend # dockerfile: ./Dockerfile image: xjz/frontend:1.0.0 restart: always environment: TZ: "Asia/Shanghai" VITE_API_BASE_URL: ${VITE_API_BASE_URL:-http://backend:8001} ports: - "5173:80" networks: - app-tier networks: app-tier: driver: bridge