Dasturchilar → Ilova serverlari
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.
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 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
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.
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 /servers | Tariflar va narxlar; server yaratish (birinchi javob narx bo‘ladi, so‘ng confirm: true yuboring) |
| POST /servers/{server}/start · stop · restart | Serverni ishga tushirish, to'xtatish yoki qayta yuklash |
| GET /servers/{server}/apps · POST …/reload | Supervisor dasturlari va ularning holati; barchasini qayta ishga tushirish va nginx’ni qayta yuklash |
| GET /servers/{server}/logs?app=web&lines=200 | Ilova chiqishining oxirgi qatorlari yoki app=nginx |
| GET · PATCH /servers/{server}/env | Har bir ilova oladigan env o‘zgaruvchilari; o‘zgartirilgandan keyin ilovalar qayta ishga tushadi |
| GET · POST · DELETE /servers/{server}/ssh-keys | Tizimga kira oladigan va push qila oladigan kalitlar |
| GET · POST /servers/{server}/backups · POST …/backups/restore | Zaxira nusxalar ro‘yxati, hozir zaxira nusxa olish, birini server ustiga tiklash |
| POST /servers/{server}/git · GET · POST …/deploys | Push manzilini tayyorlash; deploy qilingan commit va deploylar tarixi |
$ 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.
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).
$ 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
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.