# 部署 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 charts 可用。 **典型配置:** - **StatefulSet** 用于 Gateway(持久会话和配置) - **ConfigMap** 用于 `neotask.json` 配置 - **Secret** 用于 token 和 API key - **PersistentVolumeClaim** 用于会话数据和工作空间 - **Service**(ClusterIP 或 LoadBalancer)用于 WebSocket 访问 ## Fly.io 一条命令部署到 Fly.io,带持久卷和自动 HTTPS。 **特性:** - 可配置 RAM 的 x86 VM(默认 2048MB) - 持久 `/data` 卷用于配置和会话 - 自动 TLS 终止 - SSH 访问用于配置 - 通过 ngrok 的 webhook 支持(可选) ## Hetzner VPS 使用 Docker Compose 在专用 Hetzner VPS 上运行。完整的基础设施即代码支持,带社区 Terraform 模块。 **配置包括:** - Docker Compose 配置 - 用于配置、工作空间和频道状态的持久目录 - 自定义 Dockerfile 用于内置所需二进制文件 - 防火墙和安全加固 ## Render 在 Render 上基于 Blueprint 的部署,带自动构建和 1GB 持久磁盘。 ## GCP Compute Engine 在 Google Cloud 上基于 Docker 的部署,带持久磁盘和启动自动化。 ## Podman 使用 Podman 和 systemd Quadlet 支持的无 root 容器执行。非常适合限制 Docker 守护进程访问的环境。 ## 选择部署方式 | 需求 | 推荐 | |------|-------------| | 只是试用 | 本地安装 | | Mac 上的个人使用 | 本地 + macOS 伴侣应用 | | 始终在线的服务器 | VPS 上的 Docker(Hetzner、DigitalOcean) | | 带扩展的生产环境 | Kubernetes | | 快速云部署 | Fly.io 或 Render | | 无 root 容器 | Podman | ## 远程访问 默认情况下,Gateway 仅监听 localhost(127.0.0.1)。要进行远程访问: - **Tailscale** -- VPN 网状网络,带自动 DNS。Gateway 可以绑定到您的 Tailnet,从任何地方安全访问。Tailscale Serve 可以通过 HTTPS 暴露仪表盘。 - **SSH 隧道** -- 通过 SSH 转发 Gateway 端口,无需暴露端口即可安全远程访问。 - **局域网绑定** -- 绑定到本地网络,从同一网络上的其他设备访问。通过 Bonjour/mDNS 自动发现。 详见 [Gateway](gateway.md) 了解配置详情。