Daytona
Daytona lader Termbridge køre din terminal og forhåndsvisning i en cloudsandbox. Brug det, når du ønsker et miljø, der kan genskabes, en cloudforhåndsvisning eller at lade din bærbare være inaktiv.
Krav
- En Daytona API-nøgle
- Et repository URL, som sandboxen kan klone
- Git-legitimationsoplysninger, hvis repositoryet er privat
Hurtig start
Indstil backend til Daytona, og angiv repositorykonfigurationen:
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
Kør derefter Termbridge som sædvanligt:
npx termbridge
Angiv altid TERMBRIDGE_SANDBOX_REPO (eller --sandbox-repo). Hvis den mangler, bruger Termbridge i øjeblikket et indbygget standardrepository, der ikke er offentligt tilgængeligt, så sandboxen oprettes, men kloningen mislykkes (#2).
Daytona-forbindelse
| Variabel | Formål |
|---|---|
TERMBRIDGE_DAYTONA_API_KEY |
Din Daytona API-nøgle |
TERMBRIDGE_DAYTONA_API_URL |
API-slutpunkt (standard https://app.daytona.io/api) |
TERMBRIDGE_DAYTONA_TARGET |
Målregion for Daytona (valgfri) |
Disse sendes til Daytona-SDK'et. Hvis en af dem ikke er angivet, bruger SDK'et sin egen DAYTONA_API_KEY-, DAYTONA_API_URL- eller DAYTONA_TARGET-variabel som reserve.
Direkte sandboxtilstand (uden tunnel)
Direkte tilstand kører Termbridge-serveren i sandboxen og springer helt over Cloudflare. Delingslinket URL er forhåndsvisningslinket Daytona til serveren i sandboxen.
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080
TERMBRIDGE_SANDBOX_SERVER_PORT (eller --port) bruger som standard 8080. Direkte tilstand opretter en offentlig sandbox, medmindre du angiver TERMBRIDGE_SANDBOX_PUBLIC=false, og UI skjuler terminalvælgeren.
Du kan stadig aktivere forhåndsvisning ved at angive TERMBRIDGE_SANDBOX_PREVIEW_PORT; i direkte tilstand videresendes den som serverens --proxy-port.
Kloning af repository
Termbridge opretter en sandbox og kloner dit repository til sandboxens arbejdsmappe.
Brug disse indstillinger:
| Variabel | Formål |
|---|---|
TERMBRIDGE_SANDBOX_REPO |
Repositoryets URL, der skal klones (angiv den altid, se hurtigstarten) |
TERMBRIDGE_SANDBOX_BRANCH |
Branch, der skal tjekkes ud (valgfri) |
TERMBRIDGE_SANDBOX_PATH |
Sti til repositoryet i sandboxen (valgfri) |
TERMBRIDGE_SANDBOX_NAME |
Sandboxnavn (valgfrit, standard termbridge-<random hex>) |
Hvis TERMBRIDGE_SANDBOX_PATH ikke er angivet, udleder Termbridge værdien fra repositoryets navn.
Private repositories
Angiv Git-legitimationsoplysninger ved kloning af private repositories:
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token
TERMBRIDGE_SANDBOX_GIT_PASSWORD understøttes også og tilsidesætter tokenet, hvis den er angivet.
Kodeagenter
Termbridge kan installere kodeagenter i sandboxen og synkronisere din lokale godkendelse, så de er klar med det samme.
Se vejledningen Kodeagenter for den fulde opsætning, automatisk tilstand og sikkerhedsoplysninger.
Forhåndsvisningstilstand
Angiv TERMBRIDGE_SANDBOX_PREVIEW_PORT til den port, din udviklingsserver bruger i sandboxen, for at vise forhåndsvisningen.
For Vite skal du sørge for at binde til alle grænseflader:
npm run dev -- --host 0.0.0.0 --port 5173
Termbridge henter forhåndsvisningslinket Daytona og videresender det gennem Termbridge-serveren, så forhåndsvisningen indlæses i UI.
Offentlige og private sandboxes
| Variabel | Funktion |
|---|---|
TERMBRIDGE_SANDBOX_PUBLIC=true |
Opretter en offentlig sandbox |
TERMBRIDGE_SANDBOX_PUBLIC=false |
Opretter en privat sandbox |
Når variablen ikke er angivet, er sandboxes private, undtagen i direkte tilstand, hvor de er offentlige.
For private sandboxes videresender Termbridge automatisk forhåndsvisningstokenet, når forhåndsvisningen videresendes.
Oprydning og livscyklus
Sådan sletter du sandboxes, når Termbridge afsluttes:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Brug et præfiks til kortvarige test-sandboxes:
export TERMBRIDGE_SANDBOX_NAME=termbridge-test-$(date +%s)
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Det holder sandboxforbruget under kontrol og forebygger problemer med diskkvoter.
CLI-flag
Du kan også konfigurere Daytona via flag. Et flag har forrang frem for den tilsvarende miljøvariabel.
| Flag | Miljøvariabel | Formål |
|---|---|---|
--backend sandbox-daytona |
TERMBRIDGE_BACKEND |
Brug Daytona-backend |
--sandbox-repo <url> |
TERMBRIDGE_SANDBOX_REPO |
Repositoryets URL |
--sandbox-branch <branch> |
TERMBRIDGE_SANDBOX_BRANCH |
Branch |
--sandbox-path <path> |
TERMBRIDGE_SANDBOX_PATH |
Repositorysti i sandboxen |
--sandbox-name <name> |
TERMBRIDGE_SANDBOX_NAME |
Sandboxnavn |
--sandbox-preview-port <port> |
TERMBRIDGE_SANDBOX_PREVIEW_PORT |
Forhåndsvisningsport |
--sandbox-public |
TERMBRIDGE_SANDBOX_PUBLIC=true |
Opret en offentlig sandbox |
--sandbox-direct |
TERMBRIDGE_SANDBOX_DIRECT=true |
Kør serveren i sandboxen (uden tunnel) |
Der findes ikke et flag for en privat sandbox; brug TERMBRIDGE_SANDBOX_PUBLIC=false. Det indbyggede output fra termbridge --help viser stadig --daytona-*-navne og --backend daytona, som afvises (#1).
Fejlfinding
Forhåndsvisningen er tom
- Sørg for, at udviklingsserveren kører i sandboxen.
- Brug
--host 0.0.0.0, så der er adgang til forhåndsvisningsporten. - Bekræft, at
TERMBRIDGE_SANDBOX_PREVIEW_PORTsvarer til udviklingsserverens port.
Oprettelse af sandbox mislykkes med kvotefejl
- Slet gamle sandboxes i Daytona-dashboardet.
- Brug
TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=truetil kortvarige sessioner.
Kloning af repository mislykkes
- Kontrollér repositoryets URL, branch og legitimationsoplysninger.
- Sørg for, at Git-tokenet har læseadgang til repositoryet.