Dasturchilar → Ilova serverlari

App Server API

Ilovangizni NameOcean App Server’da ishga tushiring va uni koddan boshqaring: deploy uchun push qiling, ilovalarni qayta ishga tushiring, ularning loglarini o‘qing, maxfiy ma’lumotlarni env o‘zgaruvchilarida saqlang hamda butun serverning zaxira nusxasini oling yoki uni tiklang.

git bilan deploy

Har bir App Server’da /root/app ichida git repozitoriysi mavjud. Push yuborilgan branchni u yerga yozadi va loyihangizda .nameocean/deploy.sh bo‘lsa, uni ishga tushiradi. nameocean deploy butun jarayonni bajaradi:

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. Agar loyihada bo‘lmasa, server uchun nameocean nomli git remote qo‘shadi.
  2. Joriy branchni server repozitoriysiga push qiladi.
  3. Agar --no-origin parametrini bermasangiz, uni loyihaning o‘z remote’iga ham (upstream yoki origin) push qiladi.
  4. Barcha supervisor dasturlarini qayta ishga tushiradi va nginx’ni qayta yuklaydi, so‘ngra deployni qayd etadi (POST /servers/{server}/deploys) va server.deployed hodisasini yuboradi.

Push SSH kalitingizdan foydalanadi. Agar server uni hali tanimasa: nameocean servers ssh-keys add 3f9a1c2e (u ~/.ssh/id_ed25519.pub faylini o‘qiydi). Oddiy git push ham fayllarni deploy qiladi; ilovalarni qayta ishga tushirish uchun undan keyin POST /servers/{server}/deploys ni chaqiring.

Endpointlar

servers:read va servers:write ruxsatlari; server yaratish uchun billing:write ham kerak. {server} — bu id yoki standart domen. Barcha ma’lumotlar API qo‘llanmasida.

GET /servers/plans · POST /serversTariflar va narxlar; server yaratish (birinchi javob narx bo‘ladi, so‘ng confirm: true yuboring)
POST /servers/{server}/start · stop · restartServerni ishga tushirish, to'xtatish yoki qayta yuklash
GET /servers/{server}/apps · POST …/reloadSupervisor dasturlari va ularning holati; barchasini qayta ishga tushirish va nginx’ni qayta yuklash
GET /servers/{server}/logs?app=web&lines=200Ilova chiqishining oxirgi qatorlari yoki app=nginx
GET · PATCH /servers/{server}/envHar bir ilova oladigan env o‘zgaruvchilari; o‘zgartirilgandan keyin ilovalar qayta ishga tushadi
GET · POST · DELETE /servers/{server}/ssh-keysTizimga kira oladigan va push qila oladigan kalitlar
GET · POST /servers/{server}/backups · POST …/backups/restoreZaxira nusxalar ro‘yxati, hozir zaxira nusxa olish, birini server ustiga tiklash
POST /servers/{server}/git · GET · POST …/deploysPush manzilini tayyorlash; deploy qilingan commit va deploylar tarixi

Env o‘zgaruvchilari

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

Ular faqat serverda, /root/conf/env ichida saqlanadi, hech qachon bizning ma’lumotlar bazamizda emas. Ularni supervisor dasturlari, SSH sessiyalari va .nameocean/deploy.sh oladi. Ularni o‘qish uchun servers:write kerak, MCP orqali sun’iy intellekt esa ularning qiymatlarini emas, faqat nomlarini ko‘radi.

Hodisalar

Webhooklar server.* hodisalariga obuna bo‘lishi mumkin: server.created, server.started, server.stopped, server.restarted, server.restore.started va server.deployed (commit va ilovalar ishga tushgan-tushmagani haqidagi ma’lumot bilan).

Terminaldan

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

Sun’iy intellektingiz orqali

MCP orqali assistent loglarni o‘qishi, ilovalarni qayta ishga tushirishi, muhit o‘zgaruvchilarini sozlashi, push qilgandan keyin deployni yakunlashi, serverning zaxira nusxasini olishi hamda narxini sizga ko‘rsatgandan so‘ng yangi server yaratishi mumkin. To‘xtatish, qayta ishga tushirish va tiklashdan oldin sizning roziligingiz so‘raladi.