开发者 → 应用服务器

App Server API

在 NameOcean App Server 上运行您的应用,并通过代码进行管理:推送即部署、重启应用、查看日志、将密钥保存在环境变量中,以及备份或恢复整台服务器。

使用 git 部署

每台 App Server 在 /root/app 中都有一个 git 仓库。推送时,所推送的分支会写入该仓库;如果您的项目包含 .nameocean/deploy.sh,则会运行该脚本。nameocean deploy 会完成整个流程:

nameocean
$ nameocean deploy 3f9a1c2e
Remote nameocean → ssh://root@3f9a1c2e.nameocean.org:2152/root/app (added)
Pushed main to nameocean (3f9a1c2 Fix checkout)
Pushed main to origin
Restarted 2 apps, nginx reloaded: web running, worker running
  1. 如果项目中尚无名为 nameocean 的 git 远程仓库,则为该服务器添加一个。
  2. 将当前分支推送到服务器的仓库。
  3. 同时推送到项目自身的远程仓库(其上游或 origin),除非您指定 --no-origin。
  4. 重启所有 supervisor 程序并重新加载 nginx,然后记录此次部署(POST /servers/{server}/deploys)并发送 server.deployed 事件。

推送使用您的 SSH 密钥。如果服务器尚未添加该密钥:nameocean servers ssh-keys add 3f9a1c2e(读取 ~/.ssh/id_ed25519.pub)。直接执行 git push 同样会部署文件;之后调用 POST /servers/{server}/deploys 即可重启应用。

端点

需要权限范围 servers:read 和 servers:write;创建服务器还需要 billing:write。{server} 为服务器 ID 或默认域名。完整内容请参阅 API 参考。

GET /servers/plans · POST /servers套餐与价格;创建服务器(首次响应返回价格,然后发送 confirm: true)
POST /servers/{server}/start · stop · restart启动、停止或重启服务器
GET /servers/{server}/apps · POST …/reloadSupervisor 程序及其状态;全部重启并重新加载 nginx
GET /servers/{server}/logs?app=web&lines=200应用输出的最后几行,或使用 app=nginx
GET · PATCH /servers/{server}/env所有应用均可获取的环境变量;更改后应用将重启
GET · POST · DELETE /servers/{server}/ssh-keys可登录和推送的密钥
GET · POST /servers/{server}/backups · POST …/backups/restore列出备份、立即备份、用某个备份恢复服务器
POST /servers/{server}/git · GET · POST …/deploys准备推送目标;已部署的提交及部署历史

环境变量

curl
$ curl -X PATCH https://nameocean.net/api/v1/servers/3f9a1c2e/env \
    -H "Authorization: Bearer $NAMEOCEAN_API_KEY" -H "Content-Type: application/json" \
    -d '{"set": {"DATABASE_URL": "postgres://app@127.0.0.1/app"}, "unset": ["DEBUG"]}'

环境变量仅保存在服务器上的 /root/conf/env 中,绝不会存入我们的数据库。Supervisor 程序、SSH 会话和 .nameocean/deploy.sh 均可获取这些变量。读取它们需要 servers:write 权限,通过 MCP 访问的 AI 只能看到变量名,无法看到变量值。

事件

Webhooks 可以订阅 server.* 事件:server.created、server.started、server.stopped、server.restarted、server.restore.started 和 server.deployed(包含提交信息以及应用是否成功启动)。

通过终端

nameocean
$ nameocean deploy 3f9a1c2e
$ nameocean servers logs 3f9a1c2e --app web -n 200
$ nameocean servers env set 3f9a1c2e DATABASE_URL=postgres://app@127.0.0.1/app
$ nameocean servers restart-apps 3f9a1c2e
$ nameocean servers backups ls 3f9a1c2e

通过您的 AI

通过 MCP,助手可以读取日志、重启应用、设置环境变量、在推送后完成部署、备份服务器,并在向您展示价格后创建服务器。停止、重启和恢复操作会先征求您的确认。