这些年我在做云服务器内容的时候,经常会遇到一个很有意思的需求:
很多开发者不满足于使用“官方托管服务”,更希望把工具和数据真正掌握在自己手里。
尤其是像 Claude Code、AI 编程助手这类工具,涉及大量代码、项目文件和个人隐私数据,如果全部走官方服务器中转,多少会让人有点不放心——
能不能把这一整套中继服务部署在自己的服务器上?
最近看到 Sealos 社区中多次提到的 HappyCoder(Happy Server),就是为了解决这个问题而设计的:
它允许你把原本由官方提供的 Relay Server,完完全全搬到自己的云服务器上,实现真正的“自建私有 AI 中继服务”。
作为一个长期折腾 VPS、云服务器和各类自托管应用的网站站长,我也第一时间去做了一番研究和测试。
今天这篇文章,我就从实际使用和部署经验出发,给大家写一份面向新手也能看懂的 HappyCoder 自建服务器教程。

一、什么是 HappyCoder 自建服务?
简单来说,HappyCoder 是一个能够让你的 Claude Code(或类似 AI 编程工具) 和设备(如手机、电脑)进行实时同步的 中继/Relay 服务器。官方提供的服务器是开源的,你也可以把它部署在自己服务器上,这样你可以:
- 拥有完全的隐私控制,所有的数据留在自己的硬件上。
- 自己设定访问控制和速率规则, 不受官方 limits 限制。
- 按需扩展和集成到团队工作流中。
官方源码就叫 happy-server(TypeScript 编写),目的是作为中继服务将加密数据在客户端之间传递,但自己部署后你可以完全替换掉 Happy 官方的中转服务。
二、Happy Server 自建的核心流程
- 准备服务器环境
- 获取源码并构建镜像
- 运行服务
- 配置 HTTPS 和安全访问
- 让客户端指向自建服务
三、实践教程:一步步把 Happy Server 自建起来
1. 准备服务器环境
你需要一台云服务器或 VPS(例如 LightNode、萤光云等均可用于部署):
- 操作系统建议:Ubuntu 20.04 / 22.04 或 CentOS 7/8
- 最少配置:512MB RAM + 1 个 vCPU + 10GB 硬盘(轻量级服务即可)
- 安装 Docker 和 Docker Compose:
# 安装 Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl enable docker
sudo systemctl start docker
# 安装 Docker Compose(最新版本)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
2. 获取源码并构建镜像
从官方 Github 克隆代码:
git clone https://github.com/slopus/happy-server
cd happy-server
用 Docker 构建镜像:
docker build -t happy-server:latest .
这个镜像包含 Happy Server 所需运行环境(Node + 所有依赖)。
3. 启动服务器
使用 Docker 运行 Happy Server:
docker run -d \
--name happy-server \
-p 3000:3000 \
-e NODE_ENV=production \
-e DATABASE_URL="postgresql://postgres:postgres@localhost:5432/happy-server" \
-e REDIS_URL="redis://localhost:6379" \
-e SEED="your-secure-random-string" \
-e PORT=3000 \
--restart unless-stopped \
happy-server:latest
DATABASE_URL是 PostgreSQL 数据库的连接字符串REDIS_URL是 Redis 缓存服务地址SEED是用于生成令牌的随机种子,务必设置为长字符串PORT是服务监听端口(可改)
📌 小提示:你可以不使用 PostgreSQL/Redis,而是用轻量版(如 SQLite 或 happy-server-light)进行更简单部署,参考社区实践。
4. 配置 HTTPS(生产环境强烈推荐)
默认服务是 HTTP,对公网环境不安全。推荐使用反向代理(Caddy 或 Nginx)自动申请 Let’s Encrypt:
Caddy 例子:
sudo apt install -y caddy
sudo tee /etc/caddy/Caddyfile <<EOF
your-domain.com {
reverse_proxy localhost:3000
}
EOF
sudo systemctl restart caddy
部署以后,你就可以通过 https://your-domain.com 访问 Happy Server,而不是直接暴露 3000 端口。
5. 配置客户端连接你的自建服务
在电脑和手机上配置:
- 在 Happy Coder 手机 App 中,进入 设置 -> Relay Server URL
- 填入你的自建服务地址,例如:
https://your-domain.com或者内网 IP - 记得清除旧的官方服务器配置,否则可能会自动连回原服务
通过导出 HAPPY_SERVER_URL 环境变量也可让 CLI 指向你自己的服务。
四、进阶玩法:更安全且便捷的访问方式
使用 Tailscale 保护访问
如果你不想暴露公网,你可以:
- 安装 Tailscale 把服务器、手机和电脑加入同一 VPN
- 然后通过 Tailscale 自动生成 HTTPS 服务
- 无需设置反向代理或域名
这种方法对个人/小团队特别简单且更安全。
五、部署成功之后的建议
🌟 1)监控运行状态
可以考虑用 Prometheus + Grafana 或 Docker stats 监控 Happy Server 运行状态。
🔐 2)定期备份数据库
尤其如果你保存消息历史或要保存用户令牌,定期备份 PostgreSQL/SQLite 数据。
⚙️ 3)自动更新部署
用 Watchtower 或 CI/CD 脚本定期更新镜像和容器。
六、常见问答
问:必须自建数据库吗?
答:不是必需的,小型个人部署可以使用 SQLite 或轻量版 happy-server-light(不需要 Redis 或 PostgreSQL)。
问:Happy Server 会存储我的代码内容吗?
答:不会。所有传输在客户端端使用密钥加密,服务不会看到明文。
问:我能通过这个访问其它 IDE 嗎?
答:Happy Server 只是一个中继服务,它主要用于 Happy Coder 系统接力数据。你仍然需要 Claude Code/IDE 客户端配合。
小编总结
自建 HappyCoder 服务其实并不复杂,从准备云服务器,到拉取源码、构建镜像、运行服务,再到安全访问和客户端配置,一个半小时左右即可完成。
如果你希望在自己的云上管理全部 AI 编程数据、保护隐私,并集成到团队工作流中,走自助部署这条路是非常值得的。

