Udviklere → App-servere

App Server API

Kør din app på en NameOcean App Server, og administrér den fra kode: push for at udrulle, genstart apps, læs deres logs, gem hemmeligheder i env-variabler, og tag backup af eller gendan hele serveren.

Udrul med git

Hver App Server har et git-repository i /root/app. Et push skriver den pushede branch dertil og kører .nameocean/deploy.sh, hvis dit projekt har en. nameocean deploy klarer hele forløbet:

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. Tilføjer et git-remote ved navn nameocean for serveren, hvis projektet ikke har det.
  2. Pusher den aktuelle branch til serverens repository.
  3. Pusher den også til projektets eget remote (dets upstream eller origin), medmindre du angiver --no-origin.
  4. Genstarter alle supervisor-programmer og genindlæser nginx, registrerer derefter udrulningen (POST /servers/{server}/deploys) og sender en server.deployed-hændelse.

Pushet bruger din SSH-nøgle. Hvis serveren ikke kender den endnu: nameocean servers ssh-keys add 3f9a1c2e (den læser ~/.ssh/id_ed25519.pub). Et almindeligt git push udruller også filerne; kald POST /servers/{server}/deploys bagefter for at genstarte apps.

Slutpunkter

Scopes servers:read og servers:write; oprettelse af en server kræver også billing:write. {server} er id'et eller standarddomænet. Alt findes i API-referencen.

GET /servers/plans · POST /serversPlaner og priser; opret en server (første svar er prisen, send derefter confirm: true)
POST /servers/{server}/start · stop · restartStart, stop eller genstart serveren
GET /servers/{server}/apps · POST …/reloadSupervisor-programmer og deres tilstand; genstart dem alle og genindlæs nginx
GET /servers/{server}/logs?app=web&lines=200De sidste linjer af en apps output, eller app=nginx
GET · PATCH /servers/{server}/envEnv-variabler, som alle apps får; apps genstartes efter en ændring
GET · POST · DELETE /servers/{server}/ssh-keysNøgler, der kan logge ind og pushe
GET · POST /servers/{server}/backups · POST …/backups/restoreVis backups, tag backup nu, gendan en backup over serveren
POST /servers/{server}/git · GET · POST …/deploysForbered push-målet; det udrullede commit og udrulningshistorikken

Env-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 gemmes kun på serveren, i /root/conf/env, aldrig i vores database. Supervisor-programmer, SSH-sessioner og .nameocean/deploy.sh får dem. Læsning af dem kræver servers:write, og AI'en over MCP ser deres navne, ikke deres værdier.

Hændelser

Webhooks kan abonnere på server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started og server.deployed (med committet og om apps'ene startede).

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 AI

Via MCP kan en assistent læse logs, genstarte apps, angive miljøvariabler, afslutte en udrulning efter et push, tage backup af en server og, efter at have vist dig prisen, oprette en. Stop, genstart og gendannelse kræver først din godkendelse.