# 部署 Neotask 可以在任何地方執行, , 從您的筆記型電腦到 Kubernetes 叢集。選擇最適合您需求的部署方式。 ## 本機安裝 最簡單的入門方式。直接在 macOS、Linux 或 Windows(透過 WSL2)上安裝 Neotask。Gateway 作為由 launchd(macOS)或 systemd(Linux)管理的背景服務執行。 **需求:** Node.js 22+ **您將獲得:** - 作為背景服務執行的 Gateway - 開機時自動啟動 - macOS 伴侶應用程式(在 macOS 上) - 所有 CLI 工具 ## Docker 在 Docker 容器中執行 Gateway,使用持久性設定和工作空間磁碟區。非常適合 VPS 部署,或當您想要與主機系統隔離時。 **功能:** - 基於 Node 22(Debian)的預建映像 - 可選的 Chromium + Xvfb 用於瀏覽器自動化(額外約 300MB) - 使用持久磁碟區的 Docker Compose 設定 - 位於 `/health` 的健康檢查端點 - 以非 root 的 `node` 使用者執行 - 代理程式沙盒支援(用於隔離執行的 Docker-in-Docker) **持久狀態:** - 設定:`~/.neotask/neotask.json` - 工作空間:`~/.neotask/workspace/` - 工作階段:`~/.neotask/agents/*/sessions/` - 頻道狀態:`~/.neotask/whatsapp/` 等 ## Kubernetes 使用 StatefulSet 模式部署到 Kubernetes 以獲得持久儲存。社群維護的 Helm chart 可供使用。 **典型設定:** - 用於 Gateway 的 **StatefulSet**(持久工作階段和設定) - 用於 `neotask.json` 設定的 **ConfigMap** - 用於令牌和 API 金鑰的 **Secret** - 用於工作階段資料和工作空間的 **PersistentVolumeClaim** - 用於 WebSocket 存取的 **Service**(ClusterIP 或 LoadBalancer) ## Fly.io 一條命令即可部署至 Fly.io,支援持久磁碟區和自動 HTTPS。 **功能:** - 可設定 RAM 的 x86 虛擬機(預設 2048MB) - 用於設定和工作階段的持久 `/data` 磁碟區 - 自動 TLS 終止 - SSH 存取以進行設定 - 透過 ngrok 支援 webhook(可選) ## Hetzner VPS 使用 Docker Compose 在專用的 Hetzner VPS 上執行。支援社群 Terraform 模組的完整基礎設施即程式碼。 **設定包括:** - Docker Compose 設定 - 用於設定、工作空間和頻道狀態的持久目錄 - 用於烘焙所需二進位檔的自訂 Dockerfile - 防火牆和安全強化 ## Render 在 Render 上基於藍圖的部署,支援自動建置和 1GB 持久磁碟。 ## GCP Compute Engine 在 Google Cloud 上基於 Docker 的部署,支援持久磁碟和啟動自動化。 ## Podman 使用 Podman 和 systemd Quadlet 支援進行無 root 容器執行。非常適合 Docker daemon 存取受限的環境。 ## 選擇部署方式 | 需求 | 推薦方案 | |------|---------| | 只是試用 | 本機安裝 | | 在 Mac 上個人使用 | 本機 + macOS 伴侶應用程式 | | 全天候執行的伺服器 | VPS 上的 Docker(Hetzner、DigitalOcean) | | 可擴展的生產環境 | Kubernetes | | 快速雲端部署 | Fly.io 或 Render | | 無 root 容器 | Podman | ## 遠端存取 預設情況下,Gateway 只監聽 localhost(127.0.0.1)。如需遠端存取: - **Tailscale**, 具有自動 DNS 的 VPN 網格網路。Gateway 可以綁定到您的 Tailnet,從任何地方安全存取。Tailscale Serve 可以透過 HTTPS 暴露儀表板。 - **SSH 隧道**, 透過 SSH 轉發 Gateway 連接埠,無需暴露連接埠即可安全遠端存取。 - **區域網路綁定**, 綁定至本機網路,從同一網路上的其他裝置存取。透過 Bonjour/mDNS 自動探索。 設定詳情請參閱 [Gateway](gateway.md)。