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:
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:
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.
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:
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:
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:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Pentru sandbox-uri de test sau cu durată scurtă, folosiți un prefix:
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.0pentru ca portul de previzualizare să fie accesibil. - Confirmați că
TERMBRIDGE_SANDBOX_PREVIEW_PORTcorespunde 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=truepentru 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.