Treci la conținut

Daytona

Daytona îi permite lui Termbridge să ruleze terminalul și previzualizarea într-un sandbox cloud. Folosiți această opțiune pentru un mediu reproductibil, o previzualizare în cloud sau pentru a lăsa laptopul în repaus.

Cerințe

  • O cheie Daytona API
  • Un depozit URL pe care sandbox-ul îl poate clona
  • Date de autentificare Git, dacă depozitul este privat

Pornire rapidă

Setați backend-ul la Daytona și furnizați configurația depozitului:

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

Apoi rulați Termbridge ca de obicei:

Shell
npx termbridge

Setați întotdeauna TERMBRIDGE_SANDBOX_REPO (sau --sandbox-repo). Dacă lipsește, Termbridge folosește momentan un depozit implicit încorporat, care nu este accesibil public; sandbox-ul este astfel creat, dar clonarea eșuează (#2).

Conexiunea Daytona

Variabilă Scop
TERMBRIDGE_DAYTONA_API_KEY Cheia dvs. Daytona API
TERMBRIDGE_DAYTONA_API_URL Punctul final API (implicit https://app.daytona.io/api)
TERMBRIDGE_DAYTONA_TARGET Regiunea țintă Daytona (opțională)

Acestea sunt transmise către SDK-ul Daytona. Dacă una dintre ele nu este setată, SDK-ul folosește propria variabilă DAYTONA_API_KEY, DAYTONA_API_URL sau DAYTONA_TARGET.

Modul sandbox direct (fără tunel)

Modul direct rulează serverul Termbridge în sandbox și omite complet Cloudflare. Linkul de partajare URL este linkul de previzualizare Daytona către serverul din sandbox.

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

TERMBRIDGE_SANDBOX_SERVER_PORT (sau --port) are valoarea implicită 8080. Modul direct creează un sandbox public, cu excepția cazului în care setați TERMBRIDGE_SANDBOX_PUBLIC=false, iar UI ascunde selectorul de terminale.

Puteți activa în continuare previzualizarea setând TERMBRIDGE_SANDBOX_PREVIEW_PORT; în modul direct, aceasta este transmisă drept portul serverului --proxy.

Clonarea depozitului

Termbridge va crea un sandbox și va clona depozitul dvs. în directorul de lucru al sandbox-ului.

Folosiți aceste setări:

Variabilă Scop
TERMBRIDGE_SANDBOX_REPO URL depozitului de clonat (setați întotdeauna; consultați ghidul de pornire rapidă)
TERMBRIDGE_SANDBOX_BRANCH Ramura de extras (opțională)
TERMBRIDGE_SANDBOX_PATH Calea depozitului în sandbox (opțională)
TERMBRIDGE_SANDBOX_NAME Numele sandbox-ului (opțional; implicit termbridge-<random hex>)

Dacă TERMBRIDGE_SANDBOX_PATH nu este setată, Termbridge o deduce din numele depozitului.

Depozite private

Furnizați datele de autentificare git când clonați depozite private:

Shell
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token

Este acceptată și TERMBRIDGE_SANDBOX_GIT_PASSWORD, care înlocuiește tokenul dacă este setată.

Agenți de programare

Termbridge poate instala agenți de programare în sandbox și sincroniza datele locale de autentificare, astfel încât aceștia să fie gata imediat.

Consultați ghidul Agenți de programare pentru configurarea completă, modul automat și detalii de securitate.

Modul de previzualizare

Pentru a afișa previzualizarea, setați TERMBRIDGE_SANDBOX_PREVIEW_PORT la portul folosit de serverul de dezvoltare din sandbox.

Pentru Vite, asigurați-vă că serverul este legat de toate interfețele:

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

Termbridge preia linkul de previzualizare Daytona și îl redirecționează prin serverul Termbridge, astfel încât previzualizarea să se încarce în UI.

Sandbox-uri publice și private

Variabilă Funcție
TERMBRIDGE_SANDBOX_PUBLIC=true Creează un sandbox public
TERMBRIDGE_SANDBOX_PUBLIC=false Creează un sandbox privat

Dacă variabila nu este setată, sandbox-urile sunt private, cu excepția modului direct, în care sunt publice.

Pentru sandbox-urile private, Termbridge redirecționează automat tokenul de previzualizare când proxy-ul transmite previzualizarea.

Curățare și ciclul de viață

Pentru a șterge sandbox-urile la ieșirea din Termbridge:

Shell
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Pentru sandbox-uri de test sau cu durată scurtă, folosiți un prefix:

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

Astfel, utilizarea sandbox-urilor rămâne sub control și se evită problemele legate de cota de disc.

Indicatoarele CLI

Puteți configura și Daytona prin indicatoare. Un indicator are prioritate față de variabila de mediu corespunzătoare.

Indicator Variabilă de mediu Scop
--backend sandbox-daytona TERMBRIDGE_BACKEND Folosește backend-ul Daytona
--sandbox-repo <url> TERMBRIDGE_SANDBOX_REPO URL depozitului
--sandbox-branch <branch> TERMBRIDGE_SANDBOX_BRANCH Ramură
--sandbox-path <path> TERMBRIDGE_SANDBOX_PATH Calea depozitului în sandbox
--sandbox-name <name> TERMBRIDGE_SANDBOX_NAME Numele sandbox-ului
--sandbox-preview-port <port> TERMBRIDGE_SANDBOX_PREVIEW_PORT Portul de previzualizare
--sandbox-public TERMBRIDGE_SANDBOX_PUBLIC=true Creează un sandbox public
--sandbox-direct TERMBRIDGE_SANDBOX_DIRECT=true Rulează serverul în sandbox (fără tunel)

Nu există un indicator pentru un sandbox privat; folosiți TERMBRIDGE_SANDBOX_PUBLIC=false. Rezultatul încorporat de termbridge --help afișează în continuare numele --daytona-* și --backend daytona, care sunt respinse (#1).

Depanare

Panoul de previzualizare este gol

  • Asigurați-vă că serverul de dezvoltare rulează în sandbox.
  • Folosiți --host 0.0.0.0 pentru ca portul de previzualizare să fie accesibil.
  • Confirmați că TERMBRIDGE_SANDBOX_PREVIEW_PORT corespunde portului serverului de dezvoltare.

Crearea sandbox-ului eșuează din cauza cotei

  • Ștergeți sandbox-urile vechi din tabloul de bord Daytona.
  • Folosiți TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true pentru sesiunile de scurtă durată.

Clonarea depozitului eșuează

  • Verificați de două ori URL depozitului, ramura și datele de autentificare.
  • Asigurați-vă că tokenul Git are acces de citire la depozit.