version: "3.9" services: backend: build: ./backend ports: - "8000:8000" environment: - SECRET_KEY=${SECRET_KEY:?需在 .env 設定 SECRET_KEY,可用 python3 -c "import secrets; print(secrets.token_hex(32))" 產生} - DATABASE_URL=sqlite:///./carbon_saas.db - ALLOWED_ORIGINS=${ALLOWED_ORIGINS:-http://localhost:3000} volumes: - ./backend/carbon_saas.db:/app/carbon_saas.db restart: unless-stopped frontend: build: ./frontend ports: - "3000:3000" environment: # 所有 API 呼叫皆為 client-side,localhost:8000 指向使用者瀏覽器端的 backend,正確 - NEXT_PUBLIC_API_URL=http://localhost:8000 depends_on: - backend restart: unless-stopped