Ontwikkelaars → App-servers

App Server API

Draai uw app op een NameOcean App Server en beheer hem vanuit code: push om te deployen, herstart de apps, lees hun logs, bewaar geheimen in env-variabelen en maak een back-up van de hele server of zet die terug.

Deployen met git

Elke App Server heeft een git-repository in /root/app. Een push schrijft de gepushte branch daarheen en voert .nameocean/deploy.sh uit als uw project dat bestand heeft. nameocean deploy doet het hele traject:

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. Voegt een git-remote met de naam nameocean voor de server toe als het project die nog niet heeft.
  2. Pusht de huidige branch naar de repository van de server.
  3. Pusht hem ook naar de eigen remote van het project (de upstream, of origin), tenzij u --no-origin meegeeft.
  4. Herstart alle supervisor-programma's en herlaadt nginx, legt daarna de deploy vast (POST /servers/{server}/deploys) en verstuurt een server.deployed-event.

De push gebruikt uw SSH-sleutel. Als de server die nog niet kent: nameocean servers ssh-keys add 3f9a1c2e (leest ~/.ssh/id_ed25519.pub). Een gewone git push deployt de bestanden ook; roep daarna POST /servers/{server}/deploys aan om de apps te herstarten.

Endpoints

Scopes servers:read en servers:write; voor het aanmaken van een server is ook billing:write nodig. {server} is de id of het standaarddomein. Alles staat in de API-referentie.

GET /servers/plans · POST /serversPakketten en prijzen; een server aanmaken (het eerste antwoord is de prijs, stuur daarna confirm: true)
POST /servers/{server}/start · stop · restartStart, stop of herstart de server
GET /servers/{server}/apps · POST …/reloadSupervisor-programma's en hun status; alles herstarten en nginx herladen
GET /servers/{server}/logs?app=web&lines=200De laatste regels uitvoer van een app, of app=nginx
GET · PATCH /servers/{server}/envEnv-variabelen die elke app krijgt; de apps herstarten na een wijziging
GET · POST · DELETE /servers/{server}/ssh-keysSleutels die kunnen inloggen en pushen
GET · POST /servers/{server}/backups · POST …/backups/restoreBack-ups weergeven, nu een back-up maken, een back-up over de server terugzetten
POST /servers/{server}/git · GET · POST …/deploysHet push-doel voorbereiden; de gedeployde commit en de deploygeschiedenis

Env-variabelen

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"]}'

Ze worden alleen op de server bewaard, in /root/conf/env, nooit in onze database. Supervisor-programma's, SSH-sessies en .nameocean/deploy.sh krijgen ze. Voor het uitlezen is servers:write nodig, en de AI via MCP ziet alleen hun namen, niet hun waarden.

Events

Webhooks kunnen zich abonneren op server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started en server.deployed (met de commit en of de apps zijn opgestart).

Vanuit de terminal

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

Vanuit uw AI

Via MCP kan een assistent logs lezen, apps herstarten, omgevingsvariabelen instellen, een deploy afronden na een push, een back-up van een server maken en, nadat u de prijs is getoond, er een aanmaken. Voor stoppen, herstarten en herstellen wordt eerst om uw akkoord gevraagd.