Files
CFDivePlatform/openspec/changes/cloud-ready-zero-impact/proposal.md
T
a620906209 be629feef9
Run Tests / test (pull_request) Successful in 30s
feat(infra): 雲端就緒零影響改動 (compose overlay + healthcheck + env)
- docker-compose.yml:app healthcheck 改用 nc -z 127.0.0.1 9000 驗證 PHP-FPM port
- docker-compose.yml:移除 phpmyadmin、mailpit(開發工具不屬於正式服務)
- compose.override.yml:新增,含 phpmyadmin(8081)、mailpit(8025)port mapping
- .env.example:QUEUE_CONNECTION 預設改 redis;補充 FILESYSTEM_DISK、LOG_STACK、SESSION_DRIVER 雲端注意事項
- docs/STARTUP.md:新增「部署模式」章節,明確區分 VPS 與雲端 -f 指令

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 01:48:24 +08:00

1.6 KiB
Raw Blame History

Why

現有 Docker Compose 設定存在若干與雲端部署不相容的配置(開發工具混入正式服務、healthcheck 無法真實反映 app 狀態、queue 預設值不一致),在不動任何 PHP 程式碼、不重建 image、不影響 VPS 現有運作的前提下,先修正這四個零風險項目,作為雲端就緒路線圖的第一步。

What Changes

  • .env.exampleQUEUE_CONNECTION 預設值從 database 改為 redis;補充 FILESYSTEM_DISK 與 log 相關變數的說明與分組,標記哪些是雲端部署時必須設定的項目
  • docker-compose.ymlapp service healthcheck 從 php -v 改為呼叫 /health 端點;移除 phpmyadmin service
  • 新增 compose.override.yml:將 phpmyadminmailpit 放入 override 檔,VPS/開發環境自動載入,正式雲端部署時只用 -f docker-compose.yml 即可排除

Capabilities

New Capabilities

  • compose-cloud-baselineDocker Compose 雲端基準設定——healthcheck 使用真實端點、正式 compose 不含開發工具、dev-only 服務透過 override 隔離
  • env-cloud-annotations.env.example 補充雲端部署必要環境變數的說明與正確預設值

Modified Capabilities

(本次不修改任何既有 spec 的需求行為)

Impact

  • docker-compose.ymlhealthcheck 指令、移除 phpmyadmin service
  • 新增 compose.override.ymlphpmyadmin、mailpit service 定義搬移至此
  • .env.exampleQUEUE_CONNECTION 預設值、新增說明行
  • 不影響:所有 PHP 程式碼、VPS .env、image 內容、Scheduler、Session、Log