Dezvoltatori → Servere de aplicații

App Server API

Rulați aplicația pe un App Server NameOcean și administrați-o din cod: push pentru deploy, reporniți aplicațiile, citiți logurile lor, păstrați secretele în variabile env și faceți backup sau restaurați întregul server.

Deploy cu git

Fiecare App Server are un depozit git în /root/app. Un push scrie acolo branch-ul trimis și rulează .nameocean/deploy.sh dacă proiectul dumneavoastră are unul. nameocean deploy face tot ciclul:

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. Adaugă un remote git numit nameocean pentru server, dacă proiectul nu îl are.
  2. Face push branch-ului curent în depozitul serverului.
  3. Face push și în remote-ul propriu al proiectului (upstream-ul său sau origin), cu excepția cazului în care folosiți --no-origin.
  4. Repornește toate programele supervisor și reîncarcă nginx, apoi înregistrează deploy-ul (POST /servers/{server}/deploys) și trimite un eveniment server.deployed.

Push-ul folosește cheia dumneavoastră SSH. Dacă serverul nu o cunoaște încă: nameocean servers ssh-keys add 3f9a1c2e (citește ~/.ssh/id_ed25519.pub). Un simplu git push face și el deploy fișierelor; apelați POST /servers/{server}/deploys după aceea pentru a reporni aplicațiile.

Endpoint-uri

Scope-uri servers:read și servers:write; crearea unui server necesită și billing:write. {server} este id-ul sau domeniul implicit. Totul se află în referința API.

GET /servers/plans · POST /serversPlanuri și prețuri; creați un server (primul răspuns este prețul, apoi trimiteți confirm: true)
POST /servers/{server}/start · stop · restartPorniți, opriți sau reporniți serverul
GET /servers/{server}/apps · POST …/reloadProgramele supervisor și starea lor; reporniți-le pe toate și reîncărcați nginx
GET /servers/{server}/logs?app=web&lines=200Ultimele linii din output-ul unei aplicații sau app=nginx
GET · PATCH /servers/{server}/envVariabile env primite de fiecare aplicație; aplicațiile repornesc după o modificare
GET · POST · DELETE /servers/{server}/ssh-keysChei care se pot autentifica și pot face push
GET · POST /servers/{server}/backups · POST …/backups/restoreListați backup-urile, faceți backup acum, restaurați unul peste server
POST /servers/{server}/git · GET · POST …/deploysPregătiți ținta push-ului; commit-ul livrat și istoricul deploy-urilor

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

Sunt păstrate doar pe server, în /root/conf/env, niciodată în baza noastră de date. Le primesc programele supervisor, sesiunile SSH și .nameocean/deploy.sh. Citirea lor necesită servers:write, iar AI-ul prin MCP vede numele lor, nu și valorile.

Evenimente

Webhook-urile se pot abona la server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started și server.deployed (cu commit-ul și informația dacă aplicațiile au pornit).

Din 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

Din AI-ul dvs.

Prin MCP, un asistent poate citi loguri, reporni aplicații, seta variabile de mediu, finaliza un deploy după push, face backup unui server și, după ce vă arată prețul, poate crea unul. Oprirea, repornirea și restaurarea vă cer mai întâi acordul.