Разработчици → Сървъри за приложения

App Server API

Стартирайте приложението си на NameOcean App Server и го управлявайте с код: деплой с push, рестартиране на приложенията, четене на логовете им, съхраняване на тайни в env променливи и резервно копиране или възстановяване на целия сървър.

Деплой с git

Всеки App Server има git хранилище в /root/app. При push изпратеният клон се записва там и се изпълнява .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. Добавя git remote с име nameocean за сървъра, ако проектът няма такъв.
  2. Изпраща текущия клон в хранилището на сървъра.
  3. Изпраща го и в собствения remote на проекта (неговия upstream или origin), освен ако не подадете --no-origin.
  4. Рестартира всички supervisor програми и презарежда nginx, след което записва деплоя (POST /servers/{server}/deploys) и изпраща събитие server.deployed.

При push се използва Вашият SSH ключ. Ако сървърът все още не го познава: nameocean servers ssh-keys add 3f9a1c2e (чете ~/.ssh/id_ed25519.pub). Обикновен git push също деплойва файловете; след него извикайте POST /servers/{server}/deploys, за да рестартирате приложенията.

Крайни точки

Обхвати servers:read и servers:write; за създаване на сървър е нужен и billing:write. {server} е идентификаторът или домейнът по подразбиране. Всичко е описано в справочника за 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}/envEnv променливи, които получава всяко приложение; приложенията се рестартират след промяна
GET · POST · DELETE /servers/{server}/ssh-keysКлючове, които могат да влизат и да изпращат push
GET · POST /servers/{server}/backups · POST …/backups/restoreСписък с резервни копия, създаване на копие сега, възстановяване на копие върху сървъра
POST /servers/{server}/git · GET · POST …/deploysПодготовка на целта за push; деплойнатият commit и историята на деплоите

Env променливи

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, а AI през MCP вижда имената им, но не и стойностите.

Събития

Webhooks могат да се абонират за server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started и server.deployed (с commit-а и информация дали приложенията са стартирали).

От терминала

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 асистентът може да чете логове, да рестартира приложения, да задава env променливи, да завършва deploy след push, да прави резервно копие на сървър и, след като Ви покаже цената, да създава нов. Спирането, рестартирането и възстановяването изискват първо Вашето одобрение.