只需要處理一個請求? 請求/回應的工作與短任務請使用 Edge Functions。自訂運算適用於需要持續執行的程序。
功能
容器部署
把任何 Docker 映像交給 InsForge 就能執行。可以指向 registry 上已建置好的映像,也可以上傳建置內容,讓 InsForge 依您的Dockerfile 建置。不需要學習額外的建置流程。
存取您的專案
容器需要的認證由您以服務的環境變數設定——專案 URL、API key、S3 認證,取決於這個工作負載會用到什麼。InsForge 不會替您注入任何內容,因此容器能存取什麼完全由您決定。 自行託管時,compute 容器預設會加入專案自己的網路,因此在容器內postgres:5432 與 postgrest:3000 可以直接以名稱解析,與 edge functions 完全相同——不需要繞經公開網路。
資源
記憶體與 CPU 依服務設定。每個服務執行一個實例;需要多個工作者就建立多個服務。日誌
每個容器都有結構化日誌,可依服務與時間範圍查詢。在 dashboard、CLI 或 MCP 中檢視,不必kubectl exec 進容器。
Secrets 與環境變數
依服務設定環境變數與 secrets,與 edge function 的 secrets 分開。輪替時不需要重新部署。自行託管:啟用 compute
在 InsForge Cloud 上 compute 完全代管,您無需設定。自行託管時,由您決定容器在哪裡執行。目前提供兩種 provider,在其中一種設定完成之前,compute 端點都會回傳503 COMPUTE_NOT_CONFIGURED。
- Docker(您自己的主機)
- Fly.io
容器執行在與 InsForge 相同的 Docker daemon 上,與 InsForge 容器互為同層容器。不需要註冊任何服務,也沒有按容器計費。啟用方式是一個明確的動作:把 Docker socket 掛載進 InsForge 容器。compose 檔案裡已經為此準備好一行,取消註解即可:這就是全部的改動。socket 在 Linux 上是
660 root:docker,在 Docker Desktop 上是 root:root,group id 又因主機而異,所以容器會在啟動時從 socket 上讀出這個 group 並加入,然後再降權到應用使用者。無需查詢,也無需設定。重新啟動整個 stack。socket 可連線時驅動會自行註冊,並輸出 Compute provider "docker" ready。選用設定:COMPUTE_PROVIDER 設為 fly、docker 或 off 可明確指定。
選擇服務的連線方式
每個服務選擇一種 ingress 模式。有哪些模式取決於 provider,預設值也一樣:單一主機上預設為none,因為大多數 compute——佇列工作者、處理器、推理迴圈——根本不接收傳入流量;而 Fly 會為每個 app 配置主機名稱,因此只提供 host。省略該欄位時採用目前 provider 的預設值;若要求 provider 無法提供的模式,會被轉換為它支援的模式。
發佈的連接埠預設繫結到
127.0.0.1。用 COMPUTE_BIND_ADDRESS 變更——Docker 自身的預設會繫結所有介面(含 IPv6),在可從外部連線的主機上,這等於把容器直接暴露到網際網路。
用 COMPUTE_DEFAULT_INGRESS 設定整個部署的預設值。host 模式下 InsForge 只公告主機名稱,不負責 TLS 終止與流量路由——請像您已經為 dashboard 所做的那樣,在前面自行執行一個閘道(Caddy、Traefik、nginx)。
從原始碼建置
部署已建置好的映像不需要額外步驟:以映像位址建立服務,它就會被拉取並啟動。 若要讓 InsForge 建置您的Dockerfile,先保留服務,再將建置內容以 tar 上傳:
Dockerfile 不在建置內容的根目錄,請加上 ?dockerfile=docker/Dockerfile;該路徑必須留在建置內容之內。同一時間只會執行一個建置——第二個上傳會直接得到 429,而不會被緩衝下來。在 macOS 上打包時請加 --no-xattrs(或 COPYFILE_DISABLE=1):Linux daemon 無法套用的擴充屬性會導致整份建置內容被拒絕。
平台支援
兩種 provider 的差異
向GET /api/metadata 請求 compute 區段——它會回報已設定的 provider 以及各自的能力,讓工具不再提供那些會被忽略的選項。
下一步
- 設定 CLI 以連結您的專案(建議的路徑)。
- 如果您只需要請求/回應,請參閱 Edge Functions。