Vývojáři → Aplikační servery

App Server API

Provozujte svou aplikaci na NameOcean App Serveru a spravujte ji z kódu: nasazujte pushem, restartujte aplikace, čtěte jejich logy, uchovávejte tajné údaje v proměnných prostředí a zálohujte či obnovujte celý server.

Nasazení přes git

Každý App Server má git repozitář v /root/app. Push do něj zapíše odeslanou větev a spustí .nameocean/deploy.sh, pokud jej váš projekt obsahuje. nameocean deploy provede celý proces:

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. Přidá pro server git remote s názvem nameocean, pokud jej projekt ještě nemá.
  2. Odešle aktuální větev do repozitáře serveru.
  3. Odešle ji také do vlastního remote projektu (jeho upstream nebo origin), pokud nezadáte --no-origin.
  4. Restartuje všechny programy supervisoru a znovu načte nginx, poté zaznamená nasazení (POST /servers/{server}/deploys) a odešle událost server.deployed.

Push používá váš SSH klíč. Pokud jej server ještě nezná: nameocean servers ssh-keys add 3f9a1c2e (načte ~/.ssh/id_ed25519.pub). Soubory nasadí i obyčejný git push; poté zavolejte POST /servers/{server}/deploys pro restart aplikací.

Koncové body

Oprávnění servers:read a servers:write; vytvoření serveru vyžaduje také billing:write. {server} je ID nebo výchozí doména. Vše najdete v referenční dokumentaci API.

GET /servers/plans · POST /serversTarify a ceny; vytvoření serveru (první odpověď je cena, poté odešlete confirm: true)
POST /servers/{server}/start · stop · restartSpuštění, zastavení nebo restart serveru
GET /servers/{server}/apps · POST …/reloadProgramy supervisoru a jejich stav; restart všech a opětovné načtení nginx
GET /servers/{server}/logs?app=web&lines=200Poslední řádky výstupu aplikace, případně app=nginx
GET · PATCH /servers/{server}/envProměnné prostředí dostupné všem aplikacím; po změně se aplikace restartují
GET · POST · DELETE /servers/{server}/ssh-keysKlíče, které se mohou přihlásit a odesílat push
GET · POST /servers/{server}/backups · POST …/backups/restoreVýpis záloh, okamžitá záloha, obnovení zálohy na server
POST /servers/{server}/git · GET · POST …/deploysPříprava cíle pro push; nasazený commit a historie nasazení

Proměnné prostředí

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

Ukládají se pouze na serveru, v /root/conf/env, nikdy v naší databázi. Mají k nim přístup programy supervisoru, SSH relace a .nameocean/deploy.sh. Jejich čtení vyžaduje servers:write a AI přes MCP vidí jejich názvy, nikoli hodnoty.

Události

Webhooky se mohou přihlásit k odběru událostí server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started a server.deployed (s informací o commitu a o tom, zda se aplikace spustily).

Z terminálu

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

Z vaší AI

Přes MCP může asistent číst logy, restartovat aplikace, nastavovat proměnné prostředí, dokončit nasazení po pushi, zálohovat server a po zobrazení ceny i nový server vytvořit. Zastavení, restart a obnovení vyžadují nejprve Váš souhlas.