Hoppa till innehåll

Daytona

Daytona låter Termbridge köra terminalen och förhandsgranskningen i en molnsandlåda. Använd detta när du vill ha en reproducerbar miljö, en förhandsgranskning i molnet eller låta din bärbara dator vara inaktiv.

Krav

  • En nyckel för Daytona API
  • Ett kodförråd URL som sandlådan kan klona
  • Git-autentiseringsuppgifter om kodförrådet är privat

Snabbstart

Ange backend till Daytona och konfigurera kodförrådet:

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 sedan Termbridge som vanligt:

Shell
npx termbridge

Ange alltid TERMBRIDGE_SANDBOX_REPO (eller --sandbox-repo). Om värdet saknas använder Termbridge för närvarande ett inbyggt standardkodförråd som inte är offentligt tillgängligt. Sandlådan skapas då, men kloningen misslyckas (#2).

Daytona-anslutning

Variabel Syfte
TERMBRIDGE_DAYTONA_API_KEY Din Daytona-nyckel för API
TERMBRIDGE_DAYTONA_API_URL API-slutpunkt (standard: https://app.daytona.io/api)
TERMBRIDGE_DAYTONA_TARGET Målregion för Daytona (valfritt)

Dessa skickas till SDK:t för Daytona. Om någon saknas använder SDK:t sin egen variabel för DAYTONA_API_KEY, DAYTONA_API_URL eller DAYTONA_TARGET som standard.

Direkt sandlådeläge (utan tunnel)

I direktläget körs servern Termbridge i sandlådan, utan Cloudflare. Delnings-URL är Daytona-förhandsgranskningslänken till servern i sandlådan.

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

TERMBRIDGE_SANDBOX_SERVER_PORT (eller --port) använder som standard 8080. Direktläget skapar en offentlig sandlåda om du inte anger TERMBRIDGE_SANDBOX_PUBLIC=false, och UI döljer terminalväxlaren.

Du kan fortfarande aktivera förhandsgranskning genom att ange TERMBRIDGE_SANDBOX_PREVIEW_PORT; i direktläget vidarebefordras värdet som serverns --proxy-port.

Klona kodförråd

Termbridge skapar en sandlåda och klonar ditt kodförråd till sandlådans arbetskatalog.

Använd dessa inställningar:

Variabel Syfte
TERMBRIDGE_SANDBOX_REPO Kodförrådets URL att klona (ange alltid detta, se snabbstarten)
TERMBRIDGE_SANDBOX_BRANCH Gren att checka ut (valfritt)
TERMBRIDGE_SANDBOX_PATH Sökväg till kodförrådet i sandlådan (valfritt)
TERMBRIDGE_SANDBOX_NAME Sandlådenamn (valfritt, standard: termbridge-<random hex>)

Om TERMBRIDGE_SANDBOX_PATH inte har angetts härleder Termbridge värdet från kodförrådets namn.

Privata kodförråd

Ange git-autentiseringsuppgifter när du klonar privata kodförråd:

Shell
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token

Även TERMBRIDGE_SANDBOX_GIT_PASSWORD stöds och åsidosätter tokenen om den anges.

Kodningsagenter

Termbridge kan installera kodningsagenter i sandlådan och synkronisera din lokala autentisering så att de är klara att använda direkt.

Se guiden Kodningsagenter för fullständig konfiguration, automatiskt läge och säkerhetsinformation.

Förhandsgranskningsläge

Ange TERMBRIDGE_SANDBOX_PREVIEW_PORT till porten som utvecklingsservern använder i sandlådan för att visa förhandsgranskningen.

För Vite ska du se till att binda till alla gränssnitt:

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

Termbridge hämtar förhandsgranskningslänken Daytona och vidarebefordrar den via servern Termbridge så att förhandsgranskningen visas i UI.

Offentliga och privata sandlådor

Variabel Vad den gör
TERMBRIDGE_SANDBOX_PUBLIC=true Skapar en offentlig sandlåda
TERMBRIDGE_SANDBOX_PUBLIC=false Skapar en privat sandlåda

Om variabeln inte har angetts är sandlådorna privata, förutom i direktläget där de är offentliga.

För privata sandlådor vidarebefordrar Termbridge automatiskt förhandsgranskningstokenen när förhandsgranskningen proxas.

Rensning och livscykel

Så här tar du bort sandlådor när Termbridge avslutas:

Shell
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Använd ett prefix för kortlivade sandlådor eller testsandlådor:

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

Det håller sandlådeanvändningen under kontroll och förebygger problem med diskutrymmet.

Flaggan CLI

Du kan även konfigurera Daytona med flaggor. En flagga har företräde framför motsvarande miljövariabel.

Flagga Miljövariabel Syfte
--backend sandbox-daytona TERMBRIDGE_BACKEND Använd backend för Daytona
--sandbox-repo <url> TERMBRIDGE_SANDBOX_REPO Kodförrådets URL
--sandbox-branch <branch> TERMBRIDGE_SANDBOX_BRANCH Gren
--sandbox-path <path> TERMBRIDGE_SANDBOX_PATH Sökväg till kodförrådet i sandlådan
--sandbox-name <name> TERMBRIDGE_SANDBOX_NAME Sandlådenamn
--sandbox-preview-port <port> TERMBRIDGE_SANDBOX_PREVIEW_PORT Förhandsgranskningsport
--sandbox-public TERMBRIDGE_SANDBOX_PUBLIC=true Skapa en offentlig sandlåda
--sandbox-direct TERMBRIDGE_SANDBOX_DIRECT=true Kör servern i sandlådan (utan tunnel)

Det finns ingen flagga för privata sandlådor; använd TERMBRIDGE_SANDBOX_PUBLIC=false. Den inbyggda utdatafunktionen termbridge --help visar fortfarande namnen --daytona-* och --backend daytona, som avvisas (#1).

Felsökning

Förhandsgranskningen är tom

  • Kontrollera att utvecklingsservern körs i sandlådan.
  • Använd --host 0.0.0.0 så att förhandsgranskningsporten går att nå.
  • Kontrollera att TERMBRIDGE_SANDBOX_PREVIEW_PORT motsvarar utvecklingsserverns port.

Sandlådan kan inte skapas på grund av kvotfel

  • Ta bort gamla sandlådor i kontrollpanelen för Daytona.
  • Använd TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true för kortlivade sessioner.

Det går inte att klona kodförrådet

  • Kontrollera kodförrådets URL, gren och autentiseringsuppgifter.
  • Kontrollera att Git-tokenen har läsbehörighet till kodförrådet.