Daytona
Met Daytona kunt u uw terminal en preview uitvoeren in een cloudsandbox van Termbridge. Gebruik dit voor een reproduceerbare omgeving, een cloudpreview of om uw laptop inactief te houden.
Vereisten
- Een Daytona-sleutel van API
- Een repository URL die de sandbox kan klonen
- Git-verificatiegegevens als de repository privé is
Snel aan de slag
Stel de backend in op Daytona en geef de repositoryconfiguratie op:
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
Voer vervolgens Termbridge zoals gebruikelijk uit:
npx termbridge
Stel altijd TERMBRIDGE_SANDBOX_REPO (of --sandbox-repo) in. Als deze ontbreekt, gebruikt Termbridge momenteel een ingebouwde standaardrepository die niet openbaar toegankelijk is. De sandbox wordt dan aangemaakt, maar het klonen mislukt (#2).
Daytona-verbinding
| Variabele | Doel |
|---|---|
TERMBRIDGE_DAYTONA_API_KEY |
Uw Daytona-API-sleutel |
TERMBRIDGE_DAYTONA_API_URL |
API-endpoint (standaard https://app.daytona.io/api) |
TERMBRIDGE_DAYTONA_TARGET |
Doelregio van Daytona (optioneel) |
Deze worden doorgegeven aan de Daytona-SDK. Als een ervan niet is ingesteld, gebruikt de SDK de bijbehorende eigen variabele: DAYTONA_API_KEY, DAYTONA_API_URL of DAYTONA_TARGET.
Directe sandboxmodus (zonder tunnel)
In de directe modus draait de Termbridge-server in de sandbox en wordt Cloudflare volledig overgeslagen. De deel-URL is de Daytona-previewlink naar de server in de sandbox.
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080
TERMBRIDGE_SANDBOX_SERVER_PORT (of --port) is standaard ingesteld op 8080. In de directe modus wordt een openbare sandbox aangemaakt, tenzij u TERMBRIDGE_SANDBOX_PUBLIC=false instelt; met UI wordt de terminalwisselaar verborgen.
U kunt de preview nog steeds inschakelen door TERMBRIDGE_SANDBOX_PREVIEW_PORT in te stellen; in de directe modus wordt dit doorgegeven als de serverpoort van --proxy.
Repository klonen
Termbridge maakt een sandbox aan en kloont uw repository naar de werkmap van de sandbox.
Gebruik deze instellingen:
| Variabele | Doel |
|---|---|
TERMBRIDGE_SANDBOX_REPO |
Repo URL om te clonen (stel dit altijd in, zie de snelstart) |
TERMBRIDGE_SANDBOX_BRANCH |
Branch om uit te checken (optioneel) |
TERMBRIDGE_SANDBOX_PATH |
Pad voor de repo in de sandbox (optioneel) |
TERMBRIDGE_SANDBOX_NAME |
Sandboxnaam (optioneel, standaard termbridge-<random hex>) |
Als TERMBRIDGE_SANDBOX_PATH niet is ingesteld, leidt Termbridge deze af van de reponnaam.
Privérepositories
Geef git-referenties op bij het clonen van private repositories:
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token
TERMBRIDGE_SANDBOX_GIT_PASSWORD wordt ook ondersteund en overschrijft het token als deze is ingesteld.
Codeeragents
Termbridge kan codeeragents in de sandbox installeren en je lokale authenticatie synchroniseren, zodat ze meteen klaar zijn voor gebruik.
Zie de Handleiding voor codeeragents voor de volledige configuratie, de automatische modus en beveiligingsdetails.
Voorbeeldmodus
Stel TERMBRIDGE_SANDBOX_PREVIEW_PORT in op de poort die je ontwikkelserver in de sandbox gebruikt om de voorbeeldweergave te tonen.
Voor Vite moet je binden aan alle interfaces:
npm run dev -- --host 0.0.0.0 --port 5173
Termbridge haalt de Daytona-voorbeeldlink op en proxy't deze via de Termbridge-server, zodat het voorbeeld binnen de UI wordt geladen.
Openbare versus privé-sandboxes
| Variabele | Wat deze doet |
|---|---|
TERMBRIDGE_SANDBOX_PUBLIC=true |
Maakt een openbare sandbox aan |
TERMBRIDGE_SANDBOX_PUBLIC=false |
Maakt een privé-sandbox aan |
Als de variabele niet is ingesteld, zijn sandboxes privé, behalve in de directe modus; daarin zijn ze openbaar.
Voor privé-sandboxes stuurt Termbridge het voorbeeldtoken automatisch door wanneer het voorbeeld wordt geproxied.
Opruimen en levenscyclus
Sandboxes verwijderen wanneer Termbridge wordt afgesloten:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Gebruik voor sandboxes die kort bestaan of voor tests een prefix:
export TERMBRIDGE_SANDBOX_NAME=termbridge-test-$(date +%s)
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Zo blijft het sandboxgebruik beheersbaar en voorkom je problemen met de schijfruimtequota.
Vlaggen van CLI
Je kunt Daytona ook configureren met vlaggen. Een vlag heeft voorrang op de bijbehorende omgevingsvariabele.
| Vlag | Omgevingsvariabele | Doel |
|---|---|---|
--backend sandbox-daytona |
TERMBRIDGE_BACKEND |
De backend Daytona gebruiken |
--sandbox-repo <url> |
TERMBRIDGE_SANDBOX_REPO |
Repo URL |
--sandbox-branch <branch> |
TERMBRIDGE_SANDBOX_BRANCH |
Branch |
--sandbox-path <path> |
TERMBRIDGE_SANDBOX_PATH |
Repopad in de sandbox |
--sandbox-name <name> |
TERMBRIDGE_SANDBOX_NAME |
Sandboxnaam |
--sandbox-preview-port <port> |
TERMBRIDGE_SANDBOX_PREVIEW_PORT |
Voorbeeldpoort |
--sandbox-public |
TERMBRIDGE_SANDBOX_PUBLIC=true |
Een openbare sandbox aanmaken |
--sandbox-direct |
TERMBRIDGE_SANDBOX_DIRECT=true |
De server in de sandbox uitvoeren (zonder tunnel) |
Er is geen vlag voor een privé-sandbox; gebruik TERMBRIDGE_SANDBOX_PUBLIC=false. De ingebouwde uitvoer van termbridge --help toont nog steeds namen van --daytona-* en --backend daytona, die worden geweigerd (#1).
Problemen oplossen
Voorbeeldweergave is leeg
- Controleer of de ontwikkelserver in de sandbox actief is.
- Gebruik
--host 0.0.0.0zodat de voorbeeldpoort bereikbaar is. - Controleer of
TERMBRIDGE_SANDBOX_PREVIEW_PORTovereenkomt met de poort van de ontwikkelserver.
Sandbox aanmaken mislukt door quota-fouten
- Verwijder oude sandboxes in het Daytona-dashboard.
- Gebruik
TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=truevoor sessies van korte duur.
Repo clonen mislukt
- Controleer repo URL, branch en inloggegevens.
- Controleer of het Git-token leesrechten voor de repo heeft.