İçeriğe geç

Daytona

Daytona, terminalinizi ve önizlemenizi bulut korumalı alanında çalıştırmak için Termbridge aracını kullanır. Tekrarlanabilir bir ortam, bulut önizlemesi istediğinizde veya dizüstü bilgisayarınızın boşta kalmasını sağlamak için kullanın.

Gereksinimler

  • Bir Daytona API anahtarı
  • Depo, korumalı alanın klonlayabileceği URL
  • Depo özelse Git kimlik bilgileri

Hızlı başlangıç

Arka ucu Daytona olarak ayarlayın ve depo yapılandırmasını sağlayın:

Kabuk
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_DAYTONA_API_KEY=your_key
export TERMBRIDGE_SANDBOX_REPO=https://github.com/you/your-repo.git
export TERMBRIDGE_SANDBOX_BRANCH=main
export TERMBRIDGE_SANDBOX_PATH=your-repo
export TERMBRIDGE_SANDBOX_NAME=termbridge-sandbox
export TERMBRIDGE_SANDBOX_PUBLIC=true
export TERMBRIDGE_SANDBOX_PREVIEW_PORT=5173
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Ardından Termbridge komutunu her zamanki gibi çalıştırın:

Kabuk
npx termbridge

Her zaman TERMBRIDGE_SANDBOX_REPO (veya --sandbox-repo) ayarlayın. Bu değer eksik olduğunda Termbridge şu anda herkese açık olmayan yerleşik varsayılan bir depoya geri döner; bu nedenle sandbox oluşturulur ancak klonlama başarısız olur (#2).

Daytona bağlantısı

Değişken Amaç
TERMBRIDGE_DAYTONA_API_KEY Daytona API anahtarınız
TERMBRIDGE_DAYTONA_API_URL API uç noktası (varsayılan https://app.daytona.io/api)
TERMBRIDGE_DAYTONA_TARGET Daytona hedef bölgesi (isteğe bağlı)

Bunlar Daytona SDK'sına aktarılır. Bunlardan biri ayarlanmamışsa SDK kendi DAYTONA_API_KEY, DAYTONA_API_URL veya DAYTONA_TARGET değişkenini kullanır.

Doğrudan sandbox modu (tünelsiz)

Doğrudan mod, Termbridge sunucusunu sandbox içinde çalıştırır ve Cloudflare adımını tamamen atlar. Paylaşım URL, sandbox'taki sunucunun Daytona önizleme bağlantısıdır.

Kabuk
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080

TERMBRIDGE_SANDBOX_SERVER_PORT (veya --port) varsayılan olarak 8080 değerini alır. TERMBRIDGE_SANDBOX_PUBLIC=false ayarlamadığınız sürece doğrudan mod herkese açık bir sandbox oluşturur ve UI terminal değiştiricisini gizler.

TERMBRIDGE_SANDBOX_PREVIEW_PORT ayarlayarak önizlemeyi yine de etkinleştirebilirsiniz; doğrudan modda bu, sunucu --proxy bağlantı noktası olarak iletilir.

Depo klonlama

Termbridge bir sandbox oluşturur ve deponuzu sandbox çalışma dizinine klonlar.

Şu ayarları kullanın:

Değişken Amaç
TERMBRIDGE_SANDBOX_REPO Klonlanacak depo URL (her zaman ayarlayın, hızlı başlangıca bakın)
TERMBRIDGE_SANDBOX_BRANCH Kontrol edilecek dal (isteğe bağlı)
TERMBRIDGE_SANDBOX_PATH Deponun sandbox içindeki yolu (isteğe bağlı)
TERMBRIDGE_SANDBOX_NAME Sandbox adı (isteğe bağlı, varsayılan termbridge-<random hex>)

TERMBRIDGE_SANDBOX_PATH ayarlanmadıysa Termbridge bu değeri depo adından türetir.

Özel depolar

Özel depoları klonlarken git kimlik bilgilerini sağlayın:

Kabuk
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token

TERMBRIDGE_SANDBOX_GIT_PASSWORD da desteklenir ve ayarlanmışsa belirtecin yerini alır.

Kodlama ajanları

Termbridge sandbox içine kodlama ajanları yükleyebilir ve yerel kimlik doğrulamanızı eşitleyerek hemen hazır olmalarını sağlayabilir.

Tüm kurulum, otomatik mod ve güvenlik ayrıntıları için Kodlama ajanları kılavuzuna bakın.

Önizleme modu

Önizleme görünümünü göstermek için TERMBRIDGE_SANDBOX_PREVIEW_PORT değerini, geliştirme sunucunuzun sandbox içinde kullandığı bağlantı noktası olarak ayarlayın.

Vite için tüm arayüzlere bağlandığınızdan emin olun:

Kabuk
npm run dev -- --host 0.0.0.0 --port 5173

Termbridge, Daytona önizleme bağlantısını alır ve önizlemenin UI içinde yüklenmesi için bu bağlantıyı Termbridge sunucusu üzerinden vekil olarak iletir.

Herkese açık ve özel sandbox'lar

Değişken İşlevi
TERMBRIDGE_SANDBOX_PUBLIC=true Herkese açık bir sandbox oluşturur
TERMBRIDGE_SANDBOX_PUBLIC=false Özel bir sandbox oluşturur

Değişken ayarlanmamışsa sandbox'lar özeldir; doğrudan modda ise herkese açıktır.

Özel sandbox'larda Termbridge, önizleme vekil olarak iletilirken önizleme belirtecini otomatik olarak aktarır.

Temizleme ve yaşam döngüsü

Termbridge çıktığında sandbox'ları silmek için:

Kabuk
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Kısa ömürlü veya test amaçlı sandbox'lar için bir önek kullanın:

Kabuk
export TERMBRIDGE_SANDBOX_NAME=termbridge-test-$(date +%s)
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Bu, sandbox kullanımını denetim altında tutar ve disk kotası sorunlarını önler.

CLI bayrakları

Daytona ayarlarını bayraklarla da yapılandırabilirsiniz. Bir bayrak, eşleşen ortam değişkenine göre önceliklidir.

Bayrak Ortam değişkeni Amaç
--backend sandbox-daytona TERMBRIDGE_BACKEND Daytona arka ucunu kullanır
--sandbox-repo <url> TERMBRIDGE_SANDBOX_REPO Depo URL
--sandbox-branch <branch> TERMBRIDGE_SANDBOX_BRANCH Dal
--sandbox-path <path> TERMBRIDGE_SANDBOX_PATH Deponun sandbox içindeki yolu
--sandbox-name <name> TERMBRIDGE_SANDBOX_NAME Sandbox adı
--sandbox-preview-port <port> TERMBRIDGE_SANDBOX_PREVIEW_PORT Önizleme bağlantı noktası
--sandbox-public TERMBRIDGE_SANDBOX_PUBLIC=true Herkese açık bir sandbox oluşturur
--sandbox-direct TERMBRIDGE_SANDBOX_DIRECT=true Sunucuyu sandbox içinde çalıştırır (tünelsiz)

Özel sandbox için bir bayrak yoktur; TERMBRIDGE_SANDBOX_PUBLIC=false kullanın. Yerleşik termbridge --help çıktısı, reddedilen --daytona-* adlarını ve --backend daytona değerini yine de gösterir (#1).

Sorun giderme

Önizleme görünümü boş

  • Geliştirme sunucusunun sandbox içinde çalıştığından emin olun.
  • Önizleme bağlantı noktasına erişilebilmesi için --host 0.0.0.0 kullanın.
  • TERMBRIDGE_SANDBOX_PREVIEW_PORT değerinin geliştirme sunucusu bağlantı noktasıyla eşleştiğini doğrulayın.

Sandbox oluşturma kota hatalarıyla başarısız oluyor

  • Eski sandbox'ları Daytona panosundan silin.
  • Kısa ömürlü oturumlar için TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true kullanın.

Depo klonlama başarısız oluyor

  • Depo URL değerini, dalı ve kimlik bilgilerini yeniden kontrol edin.
  • Git belirtecinin depoyu okuma erişimi olduğundan emin olun.