Προγραμματιστές → Διακομιστές εφαρμογών

App Server API

Εκτελέστε την εφαρμογή σας σε έναν NameOcean App Server και διαχειριστείτε την μέσω κώδικα: κάντε push για deploy, επανεκκινήστε τις εφαρμογές, διαβάστε τα αρχεία καταγραφής τους, φυλάξτε τα μυστικά σε μεταβλητές env και δημιουργήστε ή επαναφέρετε αντίγραφα ασφαλείας ολόκληρου του διακομιστή.

Deploy με git

Κάθε App Server διαθέτει ένα αποθετήριο git στο /root/app. Ένα push γράφει εκεί τον κλάδο που στάλθηκε και εκτελεί το .nameocean/deploy.sh, εφόσον υπάρχει στο έργο σας. Το nameocean deploy κάνει όλη τη διαδικασία:

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. Προσθέτει ένα git remote με όνομα nameocean για τον διακομιστή, αν δεν υπάρχει ήδη στο έργο.
  2. Κάνει push τον τρέχοντα κλάδο στο αποθετήριο του διακομιστή.
  3. Τον στέλνει και στο δικό σας remote του έργου (το upstream ή το origin), εκτός αν δώσετε --no-origin.
  4. Επανεκκινεί όλα τα προγράμματα του supervisor και φορτώνει ξανά το nginx, έπειτα καταγράφει το deploy (POST /servers/{server}/deploys) και στέλνει ένα συμβάν server.deployed.

Το push χρησιμοποιεί το κλειδί SSH σας. Αν ο διακομιστής δεν το γνωρίζει ακόμη: nameocean servers ssh-keys add 3f9a1c2e (διαβάζει το ~/.ssh/id_ed25519.pub). Ένα απλό git push κάνει επίσης deploy των αρχείων· καλέστε έπειτα το POST /servers/{server}/deploys για να επανεκκινήσετε τις εφαρμογές.

Endpoints

Δικαιώματα servers:read και servers:write· η δημιουργία διακομιστή απαιτεί επίσης billing:write. Το {server} είναι το id ή το προεπιλεγμένο domain. Όλα βρίσκονται στην τεκμηρίωση του API.

GET /servers/plans · POST /serversΠακέτα και τιμές· δημιουργία διακομιστή (η πρώτη απάντηση είναι η τιμή, έπειτα στείλτε confirm: true)
POST /servers/{server}/start · stop · restartΕκκίνηση, διακοπή ή επανεκκίνηση του διακομιστή
GET /servers/{server}/apps · POST …/reloadΠρογράμματα supervisor και η κατάστασή τους· επανεκκίνηση όλων και επαναφόρτωση του nginx
GET /servers/{server}/logs?app=web&lines=200Οι τελευταίες γραμμές εξόδου μιας εφαρμογής ή app=nginx
GET · PATCH /servers/{server}/envΜεταβλητές env που λαμβάνει κάθε εφαρμογή· οι εφαρμογές επανεκκινούνται μετά από αλλαγή
GET · POST · DELETE /servers/{server}/ssh-keysΚλειδιά που μπορούν να συνδεθούν και να κάνουν push
GET · POST /servers/{server}/backups · POST …/backups/restoreΛίστα αντιγράφων ασφαλείας, άμεση δημιουργία αντιγράφου, επαναφορά ενός στον διακομιστή
POST /servers/{server}/git · GET · POST …/deploysΠροετοιμασία του προορισμού push· το commit που έγινε deploy και το ιστορικό deploy

Μεταβλητές 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"]}'

Φυλάσσονται μόνο στον διακομιστή, στο /root/conf/env, ποτέ στη βάση δεδομένων μας. Τις λαμβάνουν τα προγράμματα του supervisor, οι συνεδρίες SSH και το .nameocean/deploy.sh. Η ανάγνωσή τους απαιτεί servers:write, και το AI μέσω MCP βλέπει τα ονόματά τους, όχι τις τιμές τους.

Συμβάντα

Τα Webhooks μπορούν να εγγραφούν στο server.*: server.created, server.started, server.stopped, server.restarted, server.restore.started και server.deployed (με το commit και την πληροφορία αν οι εφαρμογές ξεκίνησαν).

Από το τερματικό

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

Από το AI σας

Μέσω MCP ένας βοηθός μπορεί να διαβάζει logs, να επανεκκινεί εφαρμογές, να ορίζει μεταβλητές περιβάλλοντος, να ολοκληρώνει ένα deploy μετά από push, να δημιουργεί αντίγραφα ασφαλείας ενός server και, αφού σας δείξει την τιμή, να δημιουργεί έναν νέο. Η διακοπή, η επανεκκίνηση και η επαναφορά απαιτούν πρώτα την έγκρισή σας.