Dla programistów → Serwery aplikacji

App Server API

Uruchom swoją aplikację na NameOcean App Server i zarządzaj nią z kodu: wdrażaj przez push, restartuj aplikacje, czytaj ich logi, przechowuj sekrety w zmiennych środowiskowych oraz twórz i przywracaj kopie zapasowe całego serwera.

Wdrażanie przez git

Każdy App Server ma repozytorium git w /root/app. Push zapisuje tam wypchniętą gałąź i uruchamia .nameocean/deploy.sh, jeśli Twój projekt go zawiera. nameocean deploy wykonuje cały 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. Dodaje zdalne repozytorium git o nazwie nameocean dla serwera, jeśli projekt go nie ma.
  2. Wypycha bieżącą gałąź do repozytorium serwera.
  3. Wypycha ją również do własnego zdalnego repozytorium projektu (jego upstream lub origin), chyba że podasz --no-origin.
  4. Restartuje wszystkie programy supervisora i przeładowuje nginx, a następnie zapisuje wdrożenie (POST /servers/{server}/deploys) i wysyła zdarzenie server.deployed.

Push używa Twojego klucza SSH. Jeśli serwer jeszcze go nie zna: nameocean servers ssh-keys add 3f9a1c2e (odczytuje ~/.ssh/id_ed25519.pub). Zwykły git push również wdraża pliki; wywołaj potem POST /servers/{server}/deploys, aby zrestartować aplikacje.

Punkty końcowe

Zakresy servers:read i servers:write; utworzenie serwera wymaga też billing:write. {server} to identyfikator lub domyślna domena. Wszystko znajdziesz w dokumentacji API.

GET /servers/plans · POST /serversPlany i ceny; utworzenie serwera (pierwsza odpowiedź to cena, potem wyślij confirm: true)
POST /servers/{server}/start · stop · restartUruchom, zatrzymaj lub zrestartuj serwer
GET /servers/{server}/apps · POST …/reloadProgramy supervisora i ich stan; restart wszystkich i przeładowanie nginx
GET /servers/{server}/logs?app=web&lines=200Ostatnie linie wyjścia aplikacji lub app=nginx
GET · PATCH /servers/{server}/envZmienne środowiskowe dostępne dla każdej aplikacji; aplikacje restartują się po zmianie
GET · POST · DELETE /servers/{server}/ssh-keysKlucze, które mogą się logować i wykonywać push
GET · POST /servers/{server}/backups · POST …/backups/restoreLista kopii zapasowych, utworzenie kopii teraz, przywrócenie kopii na serwerze
POST /servers/{server}/git · GET · POST …/deploysPrzygotowanie celu push; wdrożony commit i historia wdrożeń

Zmienne środowiskowe

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

Są przechowywane wyłącznie na serwerze, w /root/conf/env, nigdy w naszej bazie danych. Otrzymują je programy Supervisor, sesje SSH oraz .nameocean/deploy.sh. Ich odczyt wymaga uprawnienia servers:write, a AI przez MCP widzi ich nazwy, ale nie wartości.

Zdarzenia

Webhooki mogą subskrybować zdarzenia server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started oraz server.deployed (z commitem i informacją, czy aplikacje się uruchomiły).

Z terminala

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 poziomu Twojej AI

Przez MCP asystent może czytać logi, restartować aplikacje, ustawiać zmienne środowiskowe, dokończyć wdrożenie po wypchnięciu kodu, wykonać kopię zapasową serwera, a także – po pokazaniu Państwu ceny – utworzyć nowy. Zatrzymanie, restart i przywracanie wymagają najpierw Państwa zgody.