將 InsForge 部署到 Google Cloud Compute Engine
本指南將引導您使用 Docker Compose 在 Google Cloud Compute Engine 上部署 InsForge。這份雲端部署教學由社群維護,可能會落後於最新的 InsForge 版本。標準且永遠最新的設定位於 InsForge repo 中的
deploy/docker-compose/ 目錄。📋 事前準備
- 已啟用計費功能的 Google Cloud 帳戶
- 具備 SSH 與命令列操作的基本知識
- 網域名稱(選用,用於自訂網域設定)
🚀 部署步驟
1. 建立並設定 Compute Engine 執行個體
1.1 建立 Google Cloud 專案
- 於 console.cloud.google.com 登入 Google Cloud Console
- 在頂部導覽列點擊**「選取專案」**
- 點擊**「新增專案」**
- 輸入專案名稱(例如
insforge-deployment) - 點擊**「建立」**
- 等待專案建立完成
1.2 啟用所需的 API
- 於您的專案中,前往**「API 與服務」** → 「程式庫」
- 搜尋並啟用以下 API:
- Compute Engine API
- Cloud Storage API(若用於備份)
- Cloud SQL Admin API(若使用 Cloud SQL)
1.3 建立 Compute Engine 執行個體
- 前往**「Compute Engine」** → 「VM 執行個體」
- 點擊**「建立執行個體」**
- 設定您的執行個體:
- 名稱:
insforge-server(或您偏好的名稱) - 區域:選擇靠近使用者的區域
- 地區:選擇可用區(例如 us-central1-a)
- 機器設定:
- 系列:N2 或 E2
- 機器類型:
e2-medium或更高規格(最低 2 vCPU、4 GB RAM)- 正式環境建議:
e2-standard-2(2 vCPU、8 GB RAM) - 測試環境最低:
e2-small(2 vCPU、2 GB RAM)
- 正式環境建議:
- 開機磁碟:
- 作業系統:Ubuntu LTS(Ubuntu 22.04 LTS 或更新版本)
- 開機磁碟類型:平衡持續性磁碟
- 大小:30 GB(建議最低 20 GB)
- 防火牆:
- 允許 HTTP 流量:勾選
- 允許 HTTPS 流量:勾選
- 名稱:
1.4 設定防火牆規則
- 前往**「VPC 網路」** → 「防火牆」
- 建立或修改防火牆規則,允許以下連接埠:
| 名稱 | 方向 | 目標 | 通訊協定/連接埠 | 來源篩選器 |
|---|---|---|---|---|
| insforge-ssh | 輸入 | insforge-server | tcp:22 | 您的 IP 位址 |
| insforge-http | 輸入 | insforge-server | tcp:80 | 0.0.0.0/0 |
| insforge-https | 輸入 | insforge-server | tcp:443 | 0.0.0.0/0 |
| insforge-app | 輸入 | insforge-server | tcp:7130 | 0.0.0.0/0 |
| insforge-deno | 輸入 | insforge-server | tcp:7133 | 0.0.0.0/0 |
| insforge-postgrest | 輸入 | insforge-server | tcp:5430 | 0.0.0.0/0 |
| insforge-postgres | 輸入 | insforge-server | tcp:5432 | 0.0.0.0/0(僅在需要對外開放時) |
⚠️ 安全性注意事項:在正式環境中,請將 PostgreSQL(5432)限制為特定 IP 位址,或完全移除對外存取。建議使用反向代理(nginx),僅對外開放 80/443 連接埠。
2. 連線至您的 Compute Engine 執行個體
- 在 Google Cloud Console 中,前往**「Compute Engine」** → 「VM 執行個體」
- 找到您的執行個體,點擊同一列的 SSH 按鈕,或者:
3. 安裝相依套件
3.1 更新系統套件
3.2 安裝 Docker
3.3 將您的使用者加入 Docker 群組
安裝 Docker 後,您需要將您的使用者加入docker 群組,才能在不使用 sudo 的情況下執行 Docker 指令:
💡 注意:若 docker ps 未能立即運作,請登出並重新透過 SSH 登入,然後再試一次。
⚠️ 安全性注意事項:將使用者加入 docker 群組會授予其與 root 等同的系統權限。對於像您的 Compute Engine 執行個體這類單一使用者環境是可接受的,但在共用系統上請格外謹慎。
3.4 安裝 Git
4. 部署 InsForge
4.1 複製儲存庫
4.2 建立環境設定
建立包含正式環境設定的.env 檔案:
deploy/docker-compose/.env.example。複製它並編輯其中的值:
deploy/docker-compose/.env.example。
產生安全的密鑰:
💡 重要:請妥善保存這些密鑰。若您日後需要遷移或還原您的執行個體,將會需要用到它們。
4.3 啟動 InsForge 服務
Ctrl+C 可離開日誌檢視畫面。
4.4 驗證服務
5. 存取您的 InsForge 執行個體
5.1 測試後端 API
5.2 存取儀表板
開啟瀏覽器並前往:6. 設定網域(選用,但建議設定)
6.1 保留靜態外部 IP
- 在 Google Cloud Console 中,前往**「VPC 網路」** → 「外部 IP 位址」
- 點擊**「保留靜態位址」**
- 名稱:
insforge-ip - 類型:區域性或全域性(VM 執行個體請選擇區域性)
- 區域:與您的 VM 執行個體相同
- 點擊保留
6.2 更新 DNS 記錄
將您的網域 DNS 記錄指向保留的靜態 IP:6.3 安裝 Nginx 反向代理
6.4 安裝 SSL 憑證(建議)
.env 檔案,改用 HTTPS 網址:
🔧 管理與維護
檢視日誌
停止服務
重新啟動服務
更新 InsForge
備份資料庫
監控資源
🐛 疑難排解
服務無法啟動
無法連線至資料庫
連接埠已被使用
記憶體不足
考慮升級至更大規格的執行個體類型:SSL 憑證問題
📊 效能最佳化
針對正式環境工作負載
- 升級執行個體類型:使用
e2-standard-2或e2-standard-4 - 使用 Cloud SQL:從容器化的 PostgreSQL 遷移至 Google Cloud SQL,以獲得更佳的可靠性
- 啟用 Cloud Monitoring:監控指標並設定警示
- 設定備份:建立自動化的每日備份
- 使用 Cloud Storage:設定 Google Cloud Storage 以取代本機儲存來處理檔案上傳
資料庫最佳化
🔒 安全性最佳實務
- 變更預設密碼:更新管理員與資料庫密碼
- 啟用防火牆:有效運用 Google Cloud 防火牆規則
- 定期更新:持續更新系統與 Docker 映像檔
- SSL/TLS:正式環境務必使用 HTTPS
- 定期備份:自動化資料庫備份
- 監控日誌:設定日誌監控與警示
- 限制 SSH 存取:將 SSH 存取限制在特定 IP 位址
- 使用服務帳戶:盡可能以服務帳戶取代 API 金鑰
🆘 支援與資源
- 文件:https://docs.insforge.dev
- GitHub Issues:https://github.com/insforge/insforge/issues
- Discord 社群:https://discord.com/invite/MPxwj5xVvW
📝 費用估算
每月 Google Cloud 費用(約略):| 項目 | 類型 | 每月費用 |
|---|---|---|
| Compute Engine | e2-medium(2 vCPU、4 GB RAM) | ~$29 |
| Persistent Disk(30 GB) | Standard | ~$3 |
| 網路流出流量 | 前 1GB 免費 | 變動 |
| 總計 | ~$32/月 |
💡 成本最佳化:24/7 全天候執行的執行個體可使用永續使用折扣,最高可節省 30%。開發/測試環境建議考慮使用可搶占式執行個體。
恭喜!🎉 您的 InsForge 執行個體現已在 Google Cloud Compute Engine 上運行。您可以開始透過連接 AI 代理程式到您的後端平台來建構應用程式。 如需其他正式環境部署策略,請參閱我們的部署指南。