Utviklere → Appservere

App Server API

Kjør appen din på en NameOcean App Server og administrer den fra kode: push for å rulle ut, start appene på nytt, les loggene deres, oppbevar hemmeligheter i miljøvariabler, og ta sikkerhetskopi av eller gjenopprett hele serveren.

Rull ut med git

Hver App Server har et git-repository i /root/app. En push skriver den pushede grenen dit og kjører .nameocean/deploy.sh hvis prosjektet ditt har en. nameocean deploy gjør hele runden:

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. Legger til en git-remote kalt nameocean for serveren hvis prosjektet ikke har den.
  2. Pusher gjeldende gren til serverens repository.
  3. Pusher den også til prosjektets egen remote (upstream eller origin), med mindre du angir --no-origin.
  4. Starter alle supervisor-programmer på nytt og laster nginx inn på nytt, registrerer deretter utrullingen (POST /servers/{server}/deploys) og sender en server.deployed-hendelse.

Pushen bruker SSH-nøkkelen din. Hvis serveren ikke kjenner den ennå: nameocean servers ssh-keys add 3f9a1c2e (den leser ~/.ssh/id_ed25519.pub). En vanlig git push ruller også ut filene; kall POST /servers/{server}/deploys etterpå for å starte appene på nytt.

Endepunkter

Omfangene servers:read og servers:write; å opprette en server krever også billing:write. {server} er ID-en eller standarddomenet. Alt står i API-referansen.

GET /servers/plans · POST /serversPlaner og priser; opprett en server (første svar er prisen, send deretter confirm: true)
POST /servers/{server}/start · stop · restartStart, stopp eller start serveren på nytt
GET /servers/{server}/apps · POST …/reloadSupervisor-programmer og deres status; start alle på nytt og last nginx inn på nytt
GET /servers/{server}/logs?app=web&lines=200De siste linjene av en apps utdata, eller app=nginx
GET · PATCH /servers/{server}/envMiljøvariabler som alle apper får; appene startes på nytt etter en endring
GET · POST · DELETE /servers/{server}/ssh-keysNøkler som kan logge inn og pushe
GET · POST /servers/{server}/backups · POST …/backups/restoreList sikkerhetskopier, ta sikkerhetskopi nå, gjenopprett en over serveren
POST /servers/{server}/git · GET · POST …/deploysKlargjør push-målet; utrullet commit og utrullingshistorikken

Miljøvariabler

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

De lagres kun på serveren, i /root/conf/env, aldri i databasen vår. Supervisor-programmer, SSH-økter og .nameocean/deploy.sh får dem. Å lese dem krever servers:write, og AI-en via MCP ser navnene deres, ikke verdiene.

Hendelser

Webhooks kan abonnere på server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started og server.deployed (med commiten og om appene startet).

Fra terminalen

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

Fra din KI

Via MCP kan en assistent lese logger, starte apper på nytt, angi miljøvariabler, fullføre en utrulling etter push, ta sikkerhetskopi av en server og, etter å ha vist deg prisen, opprette en. Stopp, omstart og gjenoppretting krever din godkjenning først.