将 InsForge 部署到 Google Cloud Compute Engine
本指南将带你使用 Docker Compose 在 Google Cloud Compute Engine 上部署 InsForge。本云端部署指南由社区维护,可能滞后于最新的 InsForge 版本。最权威、始终保持最新的配置位于 InsForge 仓库 中的
deploy/docker-compose/ 目录。📋 前置条件
- 已启用计费的 Google Cloud 账户
- 具备 SSH 和命令行操作的基础知识
- 域名(可选,用于自定义域名设置)
🚀 部署步骤
1. 创建并配置 Compute Engine 实例
1.1 创建 Google Cloud 项目
- 登录 Google Cloud 控制台,访问 console.cloud.google.com
- 点击顶部导航栏中的“选择项目”
- 点击“新建项目”
- 输入项目名称(例如
insforge-deployment) - 点击“创建”
- 等待项目创建完成
1.2 启用所需的 API
- 在你的项目中,导航到 APIs & Services → Library
- 搜索并启用以下 API:
- Compute Engine API
- Cloud Storage API(如果用于备份)
- Cloud SQL Admin API(如果使用 Cloud SQL)
1.3 创建 Compute Engine 实例
- 导航到 Compute Engine → VM instances
- 点击 “Create Instance”
- 配置你的实例:
- 名称:
insforge-server(或你偏好的名称) - 区域(Region):选择靠近你用户的区域
- 可用区(Zone):选择一个可用区(例如 us-central1-a)
- 机器配置:
- 系列:N2 或 E2
- 机器类型:
e2-medium或更大配置(最低 2 vCPU、4 GB 内存)- 生产环境推荐:
e2-standard-2(2 vCPU、8 GB 内存) - 测试环境最低要求:
e2-small(2 vCPU、2 GB 内存)
- 生产环境推荐:
- 启动磁盘:
- 操作系统:Ubuntu LTS(Ubuntu 22.04 LTS 或更新版本)
- 启动磁盘类型:均衡型永久性磁盘
- 大小:30 GB(最低推荐 20 GB)
- 防火墙:
- 允许 HTTP 流量:勾选
- 允许 HTTPS 流量:勾选
- 名称:
1.4 配置防火墙规则
- 导航到 VPC network → Firewall
- 创建或修改防火墙规则,以允许以下端口:
| 名称 | 方向 | 目标 | 协议/端口 | 来源过滤器 |
|---|---|---|---|---|
| insforge-ssh | Ingress | insforge-server | tcp:22 | 你的 IP 地址 |
| insforge-http | Ingress | insforge-server | tcp:80 | 0.0.0.0/0 |
| insforge-https | Ingress | insforge-server | tcp:443 | 0.0.0.0/0 |
| insforge-app | Ingress | insforge-server | tcp:7130 | 0.0.0.0/0 |
| insforge-deno | Ingress | insforge-server | tcp:7133 | 0.0.0.0/0 |
| insforge-postgrest | Ingress | insforge-server | tcp:5430 | 0.0.0.0/0 |
| insforge-postgres | Ingress | insforge-server | tcp:5432 | 0.0.0.0/0(仅在外部需要访问时) |
⚠️ 安全提示:在生产环境中,应将 PostgreSQL(5432)限制为特定 IP 地址访问,或完全移除外部访问权限。建议使用反向代理(nginx),仅对外暴露 80/443 端口。
2. 连接到你的 Compute Engine 实例
- 在 Google Cloud 控制台中,进入 Compute Engine → VM instances
- 找到你的实例,点击同一行中的 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 控制台中,进入 VPC network → External IP addresses
- 点击 Reserve Static Address
- 名称:
insforge-ip - 类型:Regional 或 Global(对于虚拟机实例请选择 Regional)
- 区域:与你的虚拟机实例相同
- 点击 Reserve
6.2 更新 DNS 记录
将你域名的 DNS 记录指向保留的静态 IP:6.3 安装 Nginx 反向代理
6.4 安装 SSL 证书(推荐)
.env 文件:
🔧 管理与维护
查看日志
停止服务
重启服务
更新 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 |
| Network Egress | 前 1GB 免费 | 视情况而定 |
| 总计 | ~$32/月 |
💡 成本优化:对于 24/7 持续运行的实例,使用持续使用折扣(sustained use discounts)最多可节省 30%。开发/测试环境可考虑使用抢占式实例(preemptible instances)。
恭喜!🎉 你的 InsForge 实例现已在 Google Cloud Compute Engine 上运行。你可以开始通过将 AI 智能体连接到你的后端平台来构建应用程序。 有关其他生产环境部署策略,请查看我们的部署指南。