
# Daytona

Daytona võimaldab Termbridgeil käivitada teie terminali ja eelvaate pilveliivakastis. Kasutage seda korratava keskkonna või pilve-eelvaate jaoks või siis, kui soovite sülearvuti jõude jätta.

## Nõuded

- Daytonai API-võti
- Hoidla, mille URL saab liivakastis kloonida
- Git mandaadid, kui hoidla on privaatne

## Kiire alustamine

Määrake taustsüsteemiks Daytona ja sisestage hoidla konfiguratsioon:

```bash
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
```

Seejärel käivitage Termbridge nagu tavaliselt:

```bash
npx termbridge
```

Määrake alati `TERMBRIDGE_SANDBOX_REPO` (või `--sandbox-repo`). Kui see puudub, kasutab Termbridge praegu sisseehitatud vaikehoidlat, millele avalikult ligi ei pääse. Seetõttu luuakse liivakast, kuid hoidla kloonimine ebaõnnestub ([#2](https://github.com/inline0/termbridge/issues/2)).

## Ühendus Daytonaiga

| Muutuja | Eesmärk |
| --- | --- |
| `TERMBRIDGE_DAYTONA_API_KEY` | Teie Daytona API-võti |
| `TERMBRIDGE_DAYTONA_API_URL` | APIi lõpp-punkt (vaikimisi `https://app.daytona.io/api`) |
| `TERMBRIDGE_DAYTONA_TARGET` | Daytonai sihtpiirkond (valikuline) |

Need edastatakse Daytonai SDK-le. Kui mõni neist pole määratud, kasutab SDK enda `DAYTONA_API_KEY`-, `DAYTONA_API_URL`- või `DAYTONA_TARGET`-muutujat.

## Liivakasti otseühenduse režiim (tunnelita)

Otseühenduse režiimis töötab Termbridge-server liivakastis ja Cloudflare jäetakse täielikult vahele. Jagamis-URL on Daytona eelvaatelink liivakastis töötava serveriga.

```bash
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080
```

`TERMBRIDGE_SANDBOX_SERVER_PORT` (või `--port`) vaikeväärtus on `8080`. Otseühenduse režiimis luuakse avalik liivakast, kui te ei määra `TERMBRIDGE_SANDBOX_PUBLIC=false`, ning UI peidab terminalivahetaja.

Eelvaate saab siiski lubada, määrates `TERMBRIDGE_SANDBOX_PREVIEW_PORT`; otseühenduse režiimis edastatakse see serveri `--proxy`-pordina.

## Hoidla kloonimine

Termbridge loob liivakasti ja kloonib teie hoidla liivakasti töökataloogi.

Kasutage järgmisi seadeid:

| Muutuja | Eesmärk |
| --- | --- |
| `TERMBRIDGE_SANDBOX_REPO` | Kloonitav repo URL (määra alati, vt kiirkäivitust) |
| `TERMBRIDGE_SANDBOX_BRANCH` | Väljavõetav haru (valikuline) |
| `TERMBRIDGE_SANDBOX_PATH` | Repo asukoht liivakastis (valikuline) |
| `TERMBRIDGE_SANDBOX_NAME` | Liivakasti nimi (valikuline, vaikeväärtus on `termbridge-<random hex>`) |

Kui `TERMBRIDGE_SANDBOX_PATH` pole määratud, tuletab Termbridge selle repo nimest.

## Privaatsed hoidlad

Esita privaatsete hoidlate kloonimisel git mandaadid:

```bash
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token
```

Toetatud on ka `TERMBRIDGE_SANDBOX_GIT_PASSWORD`, mis tühistab määramise korral tokeni.

## Koodiagendid

Termbridge saab liivakasti paigaldada koodiagente ja sünkroonida kohaliku autentimisteabe, et need oleksid kohe kasutusvalmis.

Täieliku seadistuse, automaatrežiimi ja turbe üksikasjad leiate juhendist [Koodiagendid](https://termbridge.inline0.dev/et/docs/sandboxes/coding-agents).

## Eelvaaterežiim

Eelvaate kuvamiseks määra `TERMBRIDGE_SANDBOX_PREVIEW_PORT` pordiks, mida arendusserver liivakastis kasutab.

Määra Vite puhul sidumine kõigile liidestele:

```bash
npm run dev -- --host 0.0.0.0 --port 5173
```

Termbridge hangib Daytona eelvaatelinki ja edastab selle puhverserveri kaudu läbi serveri Termbridge, et eelvaade laaditaks UI sees.

## Avalikud ja privaatsed liivakastid

| Muutuja | Toiming |
| --- | --- |
| `TERMBRIDGE_SANDBOX_PUBLIC=true` | Loob avaliku liivakasti |
| `TERMBRIDGE_SANDBOX_PUBLIC=false` | Loob privaatse liivakasti |

Kui muutuja pole määratud, on liivakastid privaatsed, välja arvatud otseühenduse režiimis, kus need on avalikud.

Privaatsete liivakastide puhul edastab Termbridge eelvaate puhverserveri kaudu edastamisel eelvaate tokeni automaatselt.

## Puhastamine ja elutsükkel

Liivakastide kustutamiseks, kui Termbridge sulgub:

```bash
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
```

Lühiajaliste või testimiseks mõeldud liivakastide puhul kasuta prefiksit:

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

Nii saad liivakastide kasutust hallata ja vältida kettakvoodi probleeme.

## CLI lipud

Saad seadistada Daytona ka lippude kaudu. Lipp on vastava keskkonnamuutuja suhtes ülimuslik.

| Lipp | Keskkonnamuutuja | Eesmärk |
| --- | --- | --- |
| `--backend sandbox-daytona` | `TERMBRIDGE_BACKEND` | Kasuta taustsüsteemi Daytona |
| `--sandbox-repo <url>` | `TERMBRIDGE_SANDBOX_REPO` | Repo URL |
| `--sandbox-branch <branch>` | `TERMBRIDGE_SANDBOX_BRANCH` | Haru |
| `--sandbox-path <path>` | `TERMBRIDGE_SANDBOX_PATH` | Repo asukoht liivakastis |
| `--sandbox-name <name>` | `TERMBRIDGE_SANDBOX_NAME` | Liivakasti nimi |
| `--sandbox-preview-port <port>` | `TERMBRIDGE_SANDBOX_PREVIEW_PORT` | Eelvaate port |
| `--sandbox-public` | `TERMBRIDGE_SANDBOX_PUBLIC=true` | Loo avalik liivakast |
| `--sandbox-direct` | `TERMBRIDGE_SANDBOX_DIRECT=true` | Käivita server liivakastis (tunnelita) |

Privaatse liivakasti jaoks lippu pole; kasuta `TERMBRIDGE_SANDBOX_PUBLIC=false`. Sisseehitatud `termbridge --help` väljund kuvab endiselt `--daytona-*` nimed ja `--backend daytona`, mis lükatakse tagasi ([#1](https://github.com/inline0/termbridge/issues/1)).

## Tõrkeotsing

**Eelvaate kuva on tühi**
- Veendu, et arendusserver töötab liivakastis.
- Kasuta `--host 0.0.0.0`, et eelvaate port oleks kättesaadav.
- Kontrolli, kas `TERMBRIDGE_SANDBOX_PREVIEW_PORT` vastab arendusserveri pordile.

**Liivakasti loomine nurjub kvoodivea tõttu**
- Kustuta vanad liivakastid Daytona juhtpaneelil.
- Kasuta lühiajaliste seansside jaoks `TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true`.

**Repo kloonimine nurjub**
- Kontrolli üle repo URL, haru ja mandaadid.
- Veendu, et tokenil Git on repo lugemisõigus.
