Gå til indhold

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:

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

Kør derefter Termbridge som sædvanligt:

Shell
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.

Shell
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:

Shell
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:

Shell
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:

Shell
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Brug et præfiks til kortvarige test-sandboxes:

Shell
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_PORT svarer til udviklingsserverens port.

Oprettelse af sandbox mislykkes med kvotefejl

  • Slet gamle sandboxes i Daytona-dashboardet.
  • Brug TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true til kortvarige sessioner.

Kloning af repository mislykkes

  • Kontrollér repositoryets URL, branch og legitimationsoplysninger.
  • Sørg for, at Git-tokenet har læseadgang til repositoryet.