
# Daytona

Daytona omogoča izvajanje terminala in predogleda Termbridge v oblačnem peskovniku. Uporabite to možnost, če želite ponovljivo okolje, predogled v oblaku ali če želite, da vaš prenosnik miruje.

## Zahteve

- Ključ Daytona API
- Repozitorij URL, ki ga peskovnik lahko klonira
- Poverilnice Git, če je repozitorij zaseben

## Hiter začetek

Zaledni sistem nastavite na Daytona in podajte konfiguracijo repozitorija:

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

Nato zaženite Termbridge kot običajno:

```bash
npx termbridge
```

Vedno nastavite `TERMBRIDGE_SANDBOX_REPO` (ali `--sandbox-repo`). Če manjka, Termbridge trenutno uporabi vgrajeni privzeti repozitorij, ki ni javno dostopen, zato se peskovnik ustvari, kloniranje pa spodleti ([#2](https://github.com/inline0/termbridge/issues/2)).

## Povezava Daytona

| Spremenljivka | Namen |
| --- | --- |
| `TERMBRIDGE_DAYTONA_API_KEY` | Vaš ključ Daytona API |
| `TERMBRIDGE_DAYTONA_API_URL` | Končna točka API (privzeto `https://app.daytona.io/api`) |
| `TERMBRIDGE_DAYTONA_TARGET` | Ciljna regija Daytona (izbirno) |

Te vrednosti se posredujejo v SDK Daytona. Če katera od njih ni nastavljena, SDK uporabi svojo spremenljivko `DAYTONA_API_KEY`, `DAYTONA_API_URL` ali `DAYTONA_TARGET`.

## Neposredni način peskovnika (brez tunela)

V neposrednem načinu se strežnik Termbridge izvaja v peskovniku, Cloudflare pa je povsem izpuščen. Povezava za skupno rabo URL je predogledna povezava Daytona do strežnika v peskovniku.

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

`TERMBRIDGE_SANDBOX_SERVER_PORT` (ali `--port`) je privzeto nastavljen na `8080`. Neposredni način ustvari javni peskovnik, razen če nastavite `TERMBRIDGE_SANDBOX_PUBLIC=false`, možnost UI pa skrije preklopnik terminalov.

Predogled lahko še vedno omogočite z nastavitvijo `TERMBRIDGE_SANDBOX_PREVIEW_PORT`; v neposrednem načinu se posreduje kot vrata strežnika `--proxy`.

## Kloniranje repozitorija

Termbridge bo ustvaril peskovnik in kloniral vaš repozitorij v delovno mapo peskovnika.

Uporabite te nastavitve:

| Spremenljivka | Namen |
| --- | --- |
| `TERMBRIDGE_SANDBOX_REPO` | URL repozitorija za kloniranje (vedno ga nastavite, glejte hitri začetek) |
| `TERMBRIDGE_SANDBOX_BRANCH` | Veja za prevzem (izbirno) |
| `TERMBRIDGE_SANDBOX_PATH` | Pot do repozitorija v peskovniku (izbirno) |
| `TERMBRIDGE_SANDBOX_NAME` | Ime peskovnika (izbirno, privzeto `termbridge-<random hex>`) |

Če `TERMBRIDGE_SANDBOX_PATH` ni nastavljen, ga Termbridge izpelje iz imena repozitorija.

## Zasebni repozitoriji

Pri kloniranju zasebnih repozitorijev navedite poverilnice git:

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

Podprt je tudi `TERMBRIDGE_SANDBOX_GIT_PASSWORD`, ki ob nastavitvi preglasi žeton.

## Agenti za kodiranje

Termbridge lahko namesti agente za kodiranje v peskovnik in sinhronizira vašo lokalno avtentikacijo, da so takoj pripravljeni.

Za celotno nastavitev, samodejni način in varnostne podrobnosti glejte vodnik [Agenti za kodiranje](https://termbridge.inline0.dev/sl/docs/sandboxes/coding-agents).

## Način predogleda

Če želite prikazati pogled predogleda, nastavite `TERMBRIDGE_SANDBOX_PREVIEW_PORT` na vrata, ki jih vaš razvojni strežnik uporablja v peskovniku.

Za Vite se prepričajte, da posluša na vseh vmesnikih:

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

Termbridge pridobi povezavo za predogled Daytona in jo posreduje prek strežnika Termbridge, da se predogled naloži znotraj UI.

## Javni in zasebni peskovniki

| Spremenljivka | Kaj počne |
| --- | --- |
| `TERMBRIDGE_SANDBOX_PUBLIC=true` | Ustvari javni peskovnik |
| `TERMBRIDGE_SANDBOX_PUBLIC=false` | Ustvari zasebni peskovnik |

Če spremenljivka ni nastavljena, so peskovniki zasebni, razen v neposrednem načinu, kjer so javni.

Pri zasebnih peskovnikih Termbridge med posredovanjem predogleda samodejno posreduje žeton za predogled.

## Čiščenje in življenjski cikel

Če želite izbrisati peskovnike, ko se Termbridge konča:

```bash
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
```

Za kratkotrajne ali testne peskovnike uporabite predpono:

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

Tako boste imeli porabo peskovnikov pod nadzorom in se izognili težavam s količinsko omejitvijo diska.

## Zastavice CLI

Daytona lahko konfigurirate tudi z zastavicami. Zastavica ima prednost pred ustrezno spremenljivko okolja.

| Zastavica | Spremenljivka okolja | Namen |
| --- | --- | --- |
| `--backend sandbox-daytona` | `TERMBRIDGE_BACKEND` | Uporabi zaledni sistem Daytona |
| `--sandbox-repo <url>` | `TERMBRIDGE_SANDBOX_REPO` | Repozitorij URL |
| `--sandbox-branch <branch>` | `TERMBRIDGE_SANDBOX_BRANCH` | Veja |
| `--sandbox-path <path>` | `TERMBRIDGE_SANDBOX_PATH` | Pot do repozitorija v peskovniku |
| `--sandbox-name <name>` | `TERMBRIDGE_SANDBOX_NAME` | Ime peskovnika |
| `--sandbox-preview-port <port>` | `TERMBRIDGE_SANDBOX_PREVIEW_PORT` | Vrata za predogled |
| `--sandbox-public` | `TERMBRIDGE_SANDBOX_PUBLIC=true` | Ustvari javni peskovnik |
| `--sandbox-direct` | `TERMBRIDGE_SANDBOX_DIRECT=true` | Zažene strežnik v peskovniku (brez tunela) |

Zastavice za zasebni peskovnik ni; uporabite `TERMBRIDGE_SANDBOX_PUBLIC=false`. Vgrajeni izpis `termbridge --help` še vedno prikazuje imena `--daytona-*` in `--backend daytona`, ki so zavrnjena ([#1](https://github.com/inline0/termbridge/issues/1)).

## Odpravljanje težav

**Pogled predogleda je prazen**
- Preverite, ali se razvojni strežnik izvaja v peskovniku.
- Uporabite `--host 0.0.0.0`, da bodo vrata za predogled dosegljiva.
- Preverite, ali se `TERMBRIDGE_SANDBOX_PREVIEW_PORT` ujema z vrati razvojnega strežnika.

**Ustvarjanje peskovnika spodleti zaradi napake glede kvote**
- Izbrišite stare peskovnike na nadzorni plošči Daytona.
- Za kratkotrajne seje uporabite `TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true`.

**Kloniranje repozitorija spodleti**
- Preverite URL repozitorija URL, vejo in poverilnice.
- Prepričajte se, da ima žeton Git dostop za branje repozitorija.
