Siirry sisältöön

Daytona

Daytonan avulla Termbridge voi suorittaa päätteesi ja esikatselun pilvihiekkalaatikossa. Käytä tätä, kun haluat toistettavan ympäristön, pilviesikatselun tai pitää kannettavan tietokoneesi joutilaana.

Vaatimukset

  • Daytona API-avain
  • Säilö, jonka URL hiekkalaatikko voi kloonata
  • Git tunnistetiedot, jos säilö on yksityinen

Pika-aloitus

Aseta taustajärjestelmäksi Daytona ja anna tietovaraston määritykset:

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

Suorita sitten Termbridge tavalliseen tapaan:

Shell
npx termbridge

Aseta aina TERMBRIDGE_SANDBOX_REPO (tai --sandbox-repo). Jos arvoa ei ole, Termbridge käyttää tällä hetkellä sisäänrakennettua oletustietovarastoa, joka ei ole julkisesti saatavilla. Tällöin hiekkalaatikko luodaan, mutta kloonaus epäonnistuu (#2).

Daytona-yhteys

Muuttuja Käyttötarkoitus
TERMBRIDGE_DAYTONA_API_KEY Oma Daytona API -avaimesi
TERMBRIDGE_DAYTONA_API_URL API-päätepiste (oletus https://app.daytona.io/api)
TERMBRIDGE_DAYTONA_TARGET Daytona-kohdealue (valinnainen)

Nämä välitetään Daytona-SDK:lle. Jos jokin niistä on määrittämättä, SDK käyttää omaa DAYTONA_API_KEY-, DAYTONA_API_URL- tai DAYTONA_TARGET-muuttujaansa.

Suora hiekkalaatikkotila (ei tunnelia)

Suorassa tilassa Termbridge-palvelin toimii hiekkalaatikon sisällä, eikä Cloudflare-palvelua käytetä lainkaan. Jakamisen URL on hiekkalaatikon palvelimen Daytona-esikatselulinkki.

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

TERMBRIDGE_SANDBOX_SERVER_PORT (tai --port) käyttää oletusarvoisesti arvoa 8080. Suorassa tilassa luodaan julkinen hiekkalaatikko, ellet aseta TERMBRIDGE_SANDBOX_PUBLIC=false-asetusta, ja UI piilottaa päätteen valitsimen.

Voit silti ottaa esikatselun käyttöön asettamalla TERMBRIDGE_SANDBOX_PREVIEW_PORT; suorassa tilassa se välitetään palvelimen --proxy-portiksi.

Tietovaraston kloonaaminen

Termbridge luo hiekkalaatikon ja kloonaa tietovarastosi sen työhakemistoon.

Käytä näitä asetuksia:

Muuttuja Tarkoitus
TERMBRIDGE_SANDBOX_REPO URL kloonattavaan repositorioon (aseta aina, katso pika-aloitus)
TERMBRIDGE_SANDBOX_BRANCH Checkoutattava haara (valinnainen)
TERMBRIDGE_SANDBOX_PATH Repositorion polku hiekkalaatikossa (valinnainen)
TERMBRIDGE_SANDBOX_NAME Hiekkalaatikon nimi (valinnainen, oletusarvo on termbridge-<random hex>)

Jos TERMBRIDGE_SANDBOX_PATH-muuttujaa ei ole asetettu, Termbridge päättelee sen repositorion nimestä.

Yksityiset repositoriot

Anna git-tunnistetiedot yksityisiä repositorioita kloonattaessa:

Shell
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token

TERMBRIDGE_SANDBOX_GIT_PASSWORD on myös tuettu, ja se ohittaa tokenin, jos se on asetettu.

Koodausagentit

Termbridge voi asentaa koodausagentteja hiekkalaatikkoon ja synkronoida paikalliset todennustietosi, jotta ne ovat heti valmiina.

Katso Koodausagentit-oppaasta täydelliset määritys-, automaattitila- ja tietoturvaohjeet.

Esikatselutila

Näytä esikatselunäkymä asettamalla TERMBRIDGE_SANDBOX_PREVIEW_PORT kehityspalvelimesi hiekkalaatikon sisällä käyttämään porttiin.

Varmista, että Vite on sidottu kaikkiin verkkoliittymiin:

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

Termbridge hakee esikatselulinkin Daytona ja välittää sen Termbridge-palvelimen kautta, jotta esikatselu latautuu UI-ympäristössä.

Julkiset ja yksityiset hiekkalaatikot

Muuttuja Toiminto
TERMBRIDGE_SANDBOX_PUBLIC=true Luo julkisen hiekkalaatikon
TERMBRIDGE_SANDBOX_PUBLIC=false Luo yksityisen hiekkalaatikon

Kun muuttujaa ei ole asetettu, hiekkalaatikot ovat yksityisiä, paitsi suorassa tilassa, jossa ne ovat julkisia.

Yksityisissä hiekkalaatikoissa Termbridge välittää esikatselutokenin automaattisesti esikatselua välittäessään.

Siivous ja elinkaari

Poista hiekkalaatikot, kun Termbridge sulkeutuu:

Shell
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

Käytä lyhytikäisissä tai testaukseen tarkoitetuissa hiekkalaatikoissa etuliitettä:

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

Näin hiekkalaatikoiden käyttö pysyy hallinnassa eikä levytilakiintiö aiheuta ongelmia.

CLI-valitsimet

Voit määrittää Daytona myös valitsimilla. Valitsin ohittaa vastaavan ympäristömuuttujan.

Valitsin Ympäristömuuttuja Tarkoitus
--backend sandbox-daytona TERMBRIDGE_BACKEND Käytä Daytona-taustajärjestelmää
--sandbox-repo <url> TERMBRIDGE_SANDBOX_REPO Repositorion URL
--sandbox-branch <branch> TERMBRIDGE_SANDBOX_BRANCH Haara
--sandbox-path <path> TERMBRIDGE_SANDBOX_PATH Repositorion polku hiekkalaatikossa
--sandbox-name <name> TERMBRIDGE_SANDBOX_NAME Hiekkalaatikon nimi
--sandbox-preview-port <port> TERMBRIDGE_SANDBOX_PREVIEW_PORT Esikatseluportti
--sandbox-public TERMBRIDGE_SANDBOX_PUBLIC=true Luo julkinen hiekkalaatikko
--sandbox-direct TERMBRIDGE_SANDBOX_DIRECT=true Suorita palvelin hiekkalaatikon sisällä (ei tunnelia)

Yksityiselle hiekkalaatikolle ei ole valitsinta; käytä TERMBRIDGE_SANDBOX_PUBLIC=false. Sisäänrakennettu termbridge --help-tuloste näyttää silti --daytona-*-nimiä ja --backend daytona-arvoja, jotka hylätään (#1).

Vianmääritys

Esikatselunäkymä on tyhjä

  • Varmista, että kehityspalvelin on käynnissä hiekkalaatikon sisällä.
  • Käytä komentoa --host 0.0.0.0, jotta esikatseluporttiin pääsee käsiksi.
  • Varmista, että TERMBRIDGE_SANDBOX_PREVIEW_PORT vastaa kehityspalvelimen porttia.

Hiekkalaatikon luonti epäonnistuu kiintiövirheisiin

  • Poista vanhat hiekkalaatikot Daytona-hallintapaneelista.
  • Käytä TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true lyhytkestoisissa istunnoissa.

Repositorion kloonaus epäonnistuu

  • Tarkista repositorion URL, haara ja tunnistetiedot.
  • Varmista, että tokenilla Git on repositorion lukuoikeus.