Files
CFDivePlatform/openspec/changes/cloud-ready-zero-impact/specs/env-cloud-annotations/spec.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.2 KiB
Raw Blame History

ADDED Requirements

Requirement: QUEUE_CONNECTION 預設值為 redis

.env.exampleQUEUE_CONNECTION SHALL 預設為 redis,與 VPS 實際運作設定一致,避免新環境按範本初始化後跑在效能較差的 database queue。

Scenario: 新環境照 .env.example 初始化

  • WHEN 開發者或 CI 以 .env.example 為基礎建立 .env,未手動修改 QUEUE_CONNECTION
  • THEN Laravel queue driver 使用 Redisqueue worker 正常消費 Redis 佇列中的 job

Requirement: .env.example 標示雲端必要變數

.env.example SHALL 以行內註解或分組說明標示以下雲端部署時必須明確設定的變數,協助操作者識別必填項目:

  • FILESYSTEM_DISK:雲端應設為 s3(目前預設 local,雲端會導致檔案在容器重啟後遺失)
  • LOG_CHANNEL / LOG_STACK:雲端建議改為 stderr 以接入雲端 logging aggregator
  • QUEUE_CONNECTION:應為 redis
  • SESSION_DRIVER:雲端建議改為 redis

Scenario: 操作者閱讀 .env.example 進行雲端部署

  • WHEN 操作者參照 .env.example 設定雲端環境的 .env
  • THEN 每個雲端關鍵變數旁有說明,提示預設值在雲端環境的限制與建議替代值