跳轉到

部署指南

本章節說明如何將 Taiwan Health MCP 伺服器部署至生產環境。本專案採 Container-first 策略,強烈建議使用 Docker 部署以確保環境一致性。

支援環境

  • 作業系統:Linux (Ubuntu/CentOS)、macOS、Windows (WSL2)
  • 容器平台:Docker、Kubernetes、Podman
  • Node.js 版本:20 以上(裸機部署或本機開發時)。本專案已無 Python 執行期相依。

服務組成

docker compose up -d 會啟動下列服務:

服務 說明
nginx 單一對外入口(預設 :8080,由 WEB_PORT 設定)。把 /mcp/openapi.json/tools/*/status.json/admin/api/*/admin/ws/fhir-client/*/fhir-oauth/* 導向 app,其餘全部導向 web
web Next.js 前端:公開頁面(//status/privacy/dpa)與 /admin 管理後台 SPA。
app Node MCP 伺服器 + 管理後台 REST API。只在 compose 內部網路上 expose 8000 埠,不對主機發佈。
admin-worker 背景工作執行器:所有匯入(含藥品三階段管線)與嵌入工作。
postgres PostgreSQL 16 + pgvector。
pgbouncer 連線池(transaction mode)。
redis 回應快取。
minio + minio-init 藥品資產物件儲存與 bucket 初始化。

資料匯入由管理後台觸發、在 admin-worker 內執行,已無獨立的 data-loader 容器。

對外只開 nginx

不要在文件或客戶端設定中使用 http://<host>:8000 —— app 沒有對主機開放該埠。 所有流量(含 MCP)都必須經由 http://<host>:8080

部署選項

架構與容器部署

基礎設施拓樸、容器組成與啟動流程。快速啟動步驟見快速開始

環境變數配置

各項系統參數的設定方式,含 bootstrap 變數(.env)與 seed-only 設定(首次啟動後改於 Admin → Settings 管理)。

效能與監控

高併發場景的優化建議、連線池與快取策略、Prometheus 監控。

資料處理附錄 (DPA)

資料處理與合規說明。

隱私政策頁面

/privacy 端點說明,供 Anthropic Connectors Directory 審核使用。

資料庫遷移

首次啟動時 db/schema.sql 會自動套用。既有環境的增量變更位於 db/migrations/,請依檔名日期順序套用。