Sviluppatori → Server di app

API App Server

Esegua la Sua app su un App Server NameOcean e la gestisca dal codice: push per il deploy, riavvio delle app, lettura dei log, segreti nelle variabili d'ambiente e backup o ripristino dell'intero server.

Deploy con git

Ogni App Server ha un repository git in /root/app. Un push vi scrive il branch inviato ed esegue .nameocean/deploy.sh, se il progetto ne ha uno. nameocean deploy esegue l'intero ciclo:

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. Aggiunge un remote git chiamato nameocean per il server, se il progetto non lo ha.
  2. Esegue il push del branch corrente nel repository del server.
  3. Esegue il push anche sul remote del progetto (il suo upstream, oppure origin), a meno che non passi --no-origin.
  4. Riavvia tutti i programmi supervisor e ricarica nginx, poi registra il deploy (POST /servers/{server}/deploys) e invia un evento server.deployed.

Il push usa la Sua chiave SSH. Se il server non la conosce ancora: nameocean servers ssh-keys add 3f9a1c2e (legge ~/.ssh/id_ed25519.pub). Anche un semplice git push distribuisce i file; chiami poi POST /servers/{server}/deploys per riavviare le app.

Endpoint

Scope servers:read e servers:write; la creazione di un server richiede anche billing:write. {server} è l'id o il dominio predefinito. Trova tutto nel riferimento API.

GET /servers/plans · POST /serversPiani e prezzi; crea un server (la prima risposta è il prezzo, poi invii confirm: true)
POST /servers/{server}/start · stop · restartAvvia, arresta o riavvia il server
GET /servers/{server}/apps · POST …/reloadProgrammi supervisor e il loro stato; riavviali tutti e ricarica nginx
GET /servers/{server}/logs?app=web&lines=200Le ultime righe dell'output di un'app, oppure app=nginx
GET · PATCH /servers/{server}/envVariabili d'ambiente ricevute da ogni app; le app si riavviano dopo una modifica
GET · POST · DELETE /servers/{server}/ssh-keysChiavi che possono accedere ed eseguire push
GET · POST /servers/{server}/backups · POST …/backups/restoreElenca i backup, esegui un backup ora, ripristinane uno sul server
POST /servers/{server}/git · GET · POST …/deploysPrepara la destinazione del push; il commit distribuito e la cronologia dei deploy

Variabili d'ambiente

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

Sono conservate solo sul server, in /root/conf/env, mai nel nostro database. Le ricevono i programmi supervisor, le sessioni SSH e .nameocean/deploy.sh. Per leggerle serve servers:write e l'AI tramite MCP ne vede i nomi, non i valori.

Eventi

I webhook possono iscriversi a server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started e server.deployed (con il commit e l'indicazione se le app si sono avviate).

Dal terminale

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

Dalla Sua AI

Tramite MCP un assistente può leggere i log, riavviare le app, impostare le variabili d'ambiente, completare un deploy dopo il push, eseguire il backup di un server e, dopo averLe mostrato il prezzo, crearne uno. Per arrestare, riavviare e ripristinare viene prima chiesta la Sua conferma.