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:
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:
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.
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:
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:
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:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Kısa ömürlü veya test amaçlı sandbox'lar için bir önek kullanın:
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.0kullanın. TERMBRIDGE_SANDBOX_PREVIEW_PORTdeğ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=truekullanı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.