xudbinSUNUCU PANELİ

Komut satırı ve API

xb komut satırı aracıyla ve API anahtarlarıyla deploy'ları kendi bilgisayarından veya CI/CD hattından yönetirsin.

API anahtarı oluştur

Ayarlar > Hesap > API anahtarları bölümünde bir ad (ör. GitHub Actions) ve Geçerlilik seç, Oluştur'a bas. Anahtar xb_ ile başlar ve yalnız bir kez gösterilir.

  • CI için süreli bir anahtar kullan.
  • Deploy başlatacaksan Salt okunur seçme; salt okunur anahtar yalnız bilgi okuyabilir.
  • Anahtar seninle aynı yetkilere sahiptir. Üyeysen yalnız erişebildiğin projelerdeki uygulamaları görür.

xb kurulumu

xb tek dosyalık bir Node.js betiğidir (Node.js 18 veya üstü yeterli, başka bağımlılık yok):

sudo curl -fsSL https://raw.githubusercontent.com/Furkan1116/XudbinPanel/main/cli/xb.mjs -o /usr/local/bin/xb
sudo chmod +x /usr/local/bin/xb
xb login https://panel.ornek.com xb_...

xb login adresi ve anahtarı ~/.config/xudbin/cli.json dosyasına kaydeder. Bunun yerine XUDBIN_URL ve XUDBIN_TOKEN ortam değişkenlerini de kullanabilirsin.

Komutlar

xb apps                       # uygulamaları listeler (no, ad, durum, adres)
xb status blog                # durum, alan adları, son deploy
xb deploy blog                # deploy başlatır
xb deploy blog --wait         # deploy başlatır, logu izler; başarısızsa çıkış kodu 2
xb logs blog                  # canlı uygulama logları
xb rollback blog 42           # #42 numaralı deploy'a döner

Uygulamayı adıyla, kısa adıyla (slug) veya numarasıyla belirtebilirsin.

GitHub Actions örneği

Anahtarı repo ayarlarında XUDBIN_TOKEN adlı gizli değişken olarak sakla:

name: Deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Xudbin'e deploy
        run: |
          curl -fsSL https://raw.githubusercontent.com/Furkan1116/XudbinPanel/main/cli/xb.mjs -o xb.mjs
          node xb.mjs deploy blog --wait
        env:
          XUDBIN_URL: https://panel.ornek.com
          XUDBIN_TOKEN: ${{ secrets.XUDBIN_TOKEN }}

--wait sayesinde deploy başarısız olursa iş de başarısız olur. Bu yöntemi kullanıyorsan aynı uygulamada push webhook'unu veya Push'ta otomatik deploy'u kapat, yoksa her push iki deploy başlatır.

API'yi doğrudan kullanmak

Tüm istekler Authorization: Bearer <anahtar> başlığıyla https://<panel>/api altına gider:

# Uygulamaları listele
curl -H "Authorization: Bearer xb_..." https://panel.ornek.com/api/apps

# Deploy başlat (yanıt: {"deploymentId": ...})
curl -X POST -H "Authorization: Bearer xb_..." -H "Content-Type: application/json" -d '{}' \
  https://panel.ornek.com/api/apps/<no>/deploy

# Deploy durumunu sorgula
curl -H "Authorization: Bearer xb_..." https://panel.ornek.com/api/deployments/<deploy-no>

Uygulama numarası paneldeki uygulama adresinde ve xb apps çıktısında görünür.

Bu sayfayı GitHub'da düzenle