Développeurs → Serveurs d'applications

API App Server

Exécutez votre application sur un App Server NameOcean et gérez-la depuis votre code : déployez par un push, redémarrez les applications, consultez leurs logs, stockez vos secrets dans des variables d'environnement, et sauvegardez ou restaurez l'ensemble du serveur.

Déployer avec git

Chaque App Server dispose d'un dépôt git dans /root/app. Un push y écrit la branche poussée et exécute .nameocean/deploy.sh si votre projet en contient un. nameocean deploy effectue tout le cycle :

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. Ajoute un remote git nommé nameocean pour le serveur si le projet n'en a pas.
  2. Pousse la branche courante vers le dépôt du serveur.
  3. La pousse également vers le remote propre au projet (son upstream, ou origin), sauf si vous passez --no-origin.
  4. Redémarre tous les programmes supervisor et recharge nginx, puis enregistre le déploiement (POST /servers/{server}/deploys) et envoie un événement server.deployed.

Le push utilise votre clé SSH. Si le serveur ne la connaît pas encore : nameocean servers ssh-keys add 3f9a1c2e (elle lit ~/.ssh/id_ed25519.pub). Un simple git push déploie aussi les fichiers ; appelez ensuite POST /servers/{server}/deploys pour redémarrer les applications.

Points de terminaison

Scopes servers:read et servers:write ; la création d'un serveur nécessite aussi billing:write. {server} est l'identifiant ou le domaine par défaut. Tout est détaillé dans la référence de l'API.

GET /servers/plans · POST /serversOffres et tarifs ; créer un serveur (la première réponse indique le prix, envoyez ensuite confirm: true)
POST /servers/{server}/start · stop · restartDémarrer, arrêter ou redémarrer le serveur
GET /servers/{server}/apps · POST …/reloadProgrammes supervisor et leur état ; les redémarrer tous et recharger nginx
GET /servers/{server}/logs?app=web&lines=200Les dernières lignes de sortie d'une application, ou app=nginx
GET · PATCH /servers/{server}/envVariables d'environnement transmises à chaque application ; les applications redémarrent après une modification
GET · POST · DELETE /servers/{server}/ssh-keysClés autorisées à se connecter et à pousser
GET · POST /servers/{server}/backups · POST …/backups/restoreLister les sauvegardes, sauvegarder maintenant, en restaurer une sur le serveur
POST /servers/{server}/git · GET · POST …/deploysPréparer la cible du push ; le commit déployé et l'historique des déploiements

Variables d'environnement

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

Elles sont conservées uniquement sur le serveur, dans /root/conf/env, jamais dans notre base de données. Les programmes supervisor, les sessions SSH et .nameocean/deploy.sh y ont accès. Leur lecture nécessite servers:write, et l'IA via MCP voit leurs noms, pas leurs valeurs.

Événements

Les webhooks peuvent s'abonner à server.* : server.created, server.started, server.stopped, server.restarted, server.restore.started et server.deployed (avec le commit et l'indication du démarrage ou non des applications).

Depuis le 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

Depuis votre IA

Via MCP, un assistant peut lire les journaux, redémarrer des applications, définir des variables d'environnement, finaliser un déploiement après un push, sauvegarder un serveur et, après vous en avoir indiqué le prix, en créer un. L'arrêt, le redémarrage et la restauration nécessitent d'abord votre accord.