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:
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:
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.
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:
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:
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:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Använd ett prefix för kortlivade sandlådor eller testsandlådor:
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.0så att förhandsgranskningsporten går att nå. - Kontrollera att
TERMBRIDGE_SANDBOX_PREVIEW_PORTmotsvarar 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=truefö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.