Ugrás a tartalomhoz

Daytona

A Daytona segítségével a Termbridge a terminált és az előnézetet felhőalapú sandboxban futtathatja. Használja reprodukálható környezethez, felhőalapú előnézethez vagy ahhoz, hogy a laptopja tétlen maradhasson.

Követelmények

  • Egy Daytona API kulcs
  • Egy tároló URL, amelyet a sandbox klónozhat
  • Git hitelesítő adatok, ha a tároló privát

Gyors kezdés

Állítsa a háttérrendszert Daytona értékre, és adja meg a tároló konfigurációját:

Shell
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

Ezután futtassa a Termbridge eszközt a megszokott módon:

Shell
npx termbridge

Mindig állítsa be a TERMBRIDGE_SANDBOX_REPO vagy a --sandbox-repo értéket. Ha ezek hiányoznak, a Termbridge jelenleg egy beépített alapértelmezett tárolóra vált, amely nem nyilvánosan hozzáférhető; ezért a sandbox létrejön, de a klónozás sikertelen lesz (#2).

Daytona-kapcsolat

Változó Rendeltetés
TERMBRIDGE_DAYTONA_API_KEY Az Ön Daytona API kulcsa
TERMBRIDGE_DAYTONA_API_URL API végpont (alapértelmezés: https://app.daytona.io/api)
TERMBRIDGE_DAYTONA_TARGET Daytona célrégió (nem kötelező)

Ezeket a Daytona SDK kapja meg. Ha valamelyik nincs beállítva, az SDK a saját DAYTONA_API_KEY, DAYTONA_API_URL vagy DAYTONA_TARGET változójának értékét használja.

Közvetlen sandboxmód (alagút nélkül)

Közvetlen módban a Termbridge szerver a sandboxban fut, a Cloudflare pedig teljesen kimarad. A megosztási URL a sandboxban futó szerver Daytona előnézeti hivatkozása.

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

A TERMBRIDGE_SANDBOX_SERVER_PORT (vagy a --port) alapértelmezése 8080. A közvetlen mód nyilvános sandboxot hoz létre, hacsak nincs beállítva a TERMBRIDGE_SANDBOX_PUBLIC=false, a UI pedig elrejti a terminálváltót.

Az előnézetet továbbra is engedélyezheti a TERMBRIDGE_SANDBOX_PREVIEW_PORT beállításával; közvetlen módban a rendszer ezt a szerver --proxy portjaként továbbítja.

Tároló klónozása

A Termbridge létrehoz egy sandboxot, és a tárolóját a sandbox munkakönyvtárába klónozza.

Használja ezeket a beállításokat:

Változó Cél
TERMBRIDGE_SANDBOX_REPO Klónozandó repo URL (mindig állítsa be, lásd a gyors kezdést)
TERMBRIDGE_SANDBOX_BRANCH Checkoutolandó ág (nem kötelező)
TERMBRIDGE_SANDBOX_PATH A repo útvonala a sandboxban (nem kötelező)
TERMBRIDGE_SANDBOX_NAME Sandbox neve (nem kötelező, alapértelmezés szerint termbridge-<random hex>)

Ha TERMBRIDGE_SANDBOX_PATH nincs beállítva, Termbridge a repo nevéből származtatja az értékét.

Privát tárhelyek

Adjon meg git hitelesítő adatokat privát adattárak klónozásakor:

Shell
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token

A TERMBRIDGE_SANDBOX_GIT_PASSWORD is támogatott, és beállítás esetén felülírja a tokent.

Kódoló ügynökök

A Termbridge kódoló ügynököket telepíthet a sandboxba, és szinkronizálhatja a helyi hitelesítést, így azok azonnal használatra készek.

A teljes beállításról, az automatikus módról és a biztonsági részletekről lásd a Kódoló ügynökök útmutatót.

Előnézeti mód

Az előnézeti nézet megjelenítéséhez állítsa a TERMBRIDGE_SANDBOX_PREVIEW_PORT értékét arra a portra, amelyet a fejlesztői szerver a sandboxon belül használ.

A Vite esetében ügyeljen arra, hogy minden hálózati interfészhez csatlakozzon:

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

A Termbridge lekéri a Daytona előnézeti hivatkozást, és a Termbridge szerveren keresztül továbbítja, hogy az előnézet a UI felületen belül töltődjön be.

Nyilvános és privát sandboxok

Változó Működése
TERMBRIDGE_SANDBOX_PUBLIC=true Nyilvános sandboxot hoz létre
TERMBRIDGE_SANDBOX_PUBLIC=false Privát sandboxot hoz létre

Ha a változó nincs beállítva, a sandboxok privátak, kivéve közvetlen módban, ahol nyilvánosak.

Privát sandboxok esetén a Termbridge automatikusan továbbítja az előnézeti tokent az előnézet proxyzása során.

Tisztítás és életciklus

A sandboxok törléséhez, amikor a Termbridge kilép:

Shell
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Rövid élettartamú vagy tesztelési sandboxokhoz használjon előtagot:

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

Ez kordában tartja a sandboxhasználatot, és segít elkerülni a lemezkvóta-problémákat.

CLI jelzők

A Daytona jelzőkkel is konfigurálható. A jelző elsőbbséget élvez az azonos környezeti változóval szemben.

Jelző Környezeti változó Cél
--backend sandbox-daytona TERMBRIDGE_BACKEND A Daytona háttér használata
--sandbox-repo <url> TERMBRIDGE_SANDBOX_REPO Repo URL
--sandbox-branch <branch> TERMBRIDGE_SANDBOX_BRANCH Ág
--sandbox-path <path> TERMBRIDGE_SANDBOX_PATH Repo útvonala a sandboxban
--sandbox-name <name> TERMBRIDGE_SANDBOX_NAME Sandbox neve
--sandbox-preview-port <port> TERMBRIDGE_SANDBOX_PREVIEW_PORT Előnézeti port
--sandbox-public TERMBRIDGE_SANDBOX_PUBLIC=true Nyilvános sandbox létrehozása
--sandbox-direct TERMBRIDGE_SANDBOX_DIRECT=true A szerver futtatása a sandboxon belül (alagút nélkül)

Privát sandboxhoz nincs jelző; használja a TERMBRIDGE_SANDBOX_PUBLIC=false értéket. A beépített termbridge --help kimenet továbbra is megjeleníti az --daytona-* neveket és az --backend daytona értéket, ezeket azonban a rendszer elutasítja (#1).

Hibaelhárítás

Az előnézeti nézet üres

  • Ellenőrizze, hogy a fejlesztői szerver fut-e a sandboxon belül.
  • Használja a --host 0.0.0.0 értéket, hogy az előnézeti port elérhető legyen.
  • Ellenőrizze, hogy a TERMBRIDGE_SANDBOX_PREVIEW_PORT megegyezik-e a fejlesztői szerver portjával.

Kvótahiba miatt nem sikerül létrehozni a sandboxot

  • Törölje a régi sandboxokat a Daytona irányítópulton.
  • Rövid munkamenetekhez használja a TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true értéket.

Nem sikerül klónozni a repót

  • Ellenőrizze újra a repo URL értékét, az ágat és a hitelesítő adatokat.
  • Győződjön meg róla, hogy a Git token rendelkezik olvasási hozzáféréssel a repóhoz.