
# Daytona

Daytona umožňuje spustiť váš terminál a ukážku v cloudovom sandboxe Termbridge. Použite ho, keď potrebujete reprodukovateľné prostredie, cloudovú ukážku alebo chcete nechať laptop nečinný.

## Požiadavky

- Kľúč Daytona API
- Adresár repozitára URL, ktorý sandbox môže naklonovať
- Prihlasovacie údaje Git, ak je repozitár súkromný

## Rýchly začiatok

Nastavte backend na Daytona a zadajte konfiguráciu repozitára:

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

Potom spustite Termbridge ako zvyčajne:

```bash
npx termbridge
```

Vždy nastavte `TERMBRIDGE_SANDBOX_REPO` (alebo `--sandbox-repo`). Ak chýba, Termbridge momentálne použije vstavaný predvolený repozitár, ktorý nie je verejne dostupný, takže sandbox sa vytvorí, ale klonovanie zlyhá ([#2](https://github.com/inline0/termbridge/issues/2)).

## Pripojenie k Daytona

| Premenná | Účel |
| --- | --- |
| `TERMBRIDGE_DAYTONA_API_KEY` | Váš kľúč Daytona API |
| `TERMBRIDGE_DAYTONA_API_URL` | Koncový bod API (predvolené: `https://app.daytona.io/api`) |
| `TERMBRIDGE_DAYTONA_TARGET` | Cieľová oblasť Daytona (voliteľné) |

Tieto údaje sa odovzdávajú súprave SDK Daytona. Ak niektorá z nich nie je nastavená, súprava SDK použije vlastnú premennú `DAYTONA_API_KEY`, `DAYTONA_API_URL` alebo `DAYTONA_TARGET`.

## Priamy režim sandboxu (bez tunela)

V priamom režime beží server Termbridge v sandboxe a tunel Cloudflare sa úplne vynecháva. Odkaz na zdieľanie URL je odkazom Daytona na ukážku servera v sandboxe.

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

Predvolená hodnota `TERMBRIDGE_SANDBOX_SERVER_PORT` (alebo `--port`) je `8080`. Priamy režim vytvorí verejný sandbox, pokiaľ nenastavíte `TERMBRIDGE_SANDBOX_PUBLIC=false`, a UI skryje prepínač terminálov.

Ukážku môžete stále zapnúť nastavením `TERMBRIDGE_SANDBOX_PREVIEW_PORT`; v priamom režime sa táto hodnota použije ako port servera `--proxy`.

## Klonovanie repozitára

Termbridge vytvorí sandbox a naklonuje váš repozitár do pracovného adresára sandboxu.

Použite tieto nastavenia:

| Premenná | Účel |
| --- | --- |
| `TERMBRIDGE_SANDBOX_REPO` | URL repozitára, ktorý sa má naklonovať (nastavte vždy, pozrite si stručný návod) |
| `TERMBRIDGE_SANDBOX_BRANCH` | Vetva, ktorú treba načítať (voliteľné) |
| `TERMBRIDGE_SANDBOX_PATH` | Cesta k repozitáru v sandboxe (voliteľné) |
| `TERMBRIDGE_SANDBOX_NAME` | Názov sandboxu (voliteľné, predvolené `termbridge-<random hex>`) |

Ak `TERMBRIDGE_SANDBOX_PATH` nie je nastavená, Termbridge ju odvodí od názvu repozitára.

## Súkromné úložiská

Pri klonovaní súkromných repozitárov zadajte prihlasovacie údaje git:

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

Podporuje sa aj `TERMBRIDGE_SANDBOX_GIT_PASSWORD`, ktoré v prípade nastavenia prepíše token.

## Programovacie agenti

Termbridge dokáže nainštalovať programovacích agentov do sandboxu a synchronizovať vaše lokálne overovacie údaje, aby boli okamžite pripravení.

Úplné nastavenie, automatický režim a podrobnosti o zabezpečení nájdete v príručke [Programovací agenti](https://termbridge.inline0.dev/sk/docs/sandboxes/coding-agents).

## Režim ukážky

Ak chcete zobraziť ukážku, nastavte `TERMBRIDGE_SANDBOX_PREVIEW_PORT` na port, ktorý používa váš vývojový server v sandboxe.

V prípade Vite sa uistite, že počúva na všetkých rozhraniach:

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

Termbridge načíta odkaz na ukážku Daytona a sprostredkuje ho cez server Termbridge, aby sa ukážka načítala v UI.

## Verejné a súkromné sandboxy

| Premenná | Čo robí |
| --- | --- |
| `TERMBRIDGE_SANDBOX_PUBLIC=true` | Vytvorí verejný sandbox |
| `TERMBRIDGE_SANDBOX_PUBLIC=false` | Vytvorí súkromný sandbox |

Ak premenná nie je nastavená, sandboxy sú súkromné, okrem priameho režimu, v ktorom sú verejné.

Pri súkromných sandboxoch Termbridge automaticky odovzdáva token ukážky pri jej sprostredkovaní.

## Čistenie a životný cyklus

Ak chcete odstrániť sandboxy po ukončení Termbridge:

```bash
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
```

Pre krátkodobé alebo testovacie sandboxy použite predponu:

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

Takto udržíte používanie sandboxov pod kontrolou a vyhnete sa problémom s kvótou na disku.

## Príznaky CLI

Daytona môžete nakonfigurovať aj pomocou príznakov. Príznak má prednosť pred zodpovedajúcou premennou prostredia.

| Príznak | Premenná prostredia | Účel |
| --- | --- | --- |
| `--backend sandbox-daytona` | `TERMBRIDGE_BACKEND` | Použiť backend Daytona |
| `--sandbox-repo <url>` | `TERMBRIDGE_SANDBOX_REPO` | Repozitár URL |
| `--sandbox-branch <branch>` | `TERMBRIDGE_SANDBOX_BRANCH` | Vetva |
| `--sandbox-path <path>` | `TERMBRIDGE_SANDBOX_PATH` | Cesta k repozitáru v sandboxe |
| `--sandbox-name <name>` | `TERMBRIDGE_SANDBOX_NAME` | Názov sandboxu |
| `--sandbox-preview-port <port>` | `TERMBRIDGE_SANDBOX_PREVIEW_PORT` | Port ukážky |
| `--sandbox-public` | `TERMBRIDGE_SANDBOX_PUBLIC=true` | Vytvoriť verejný sandbox |
| `--sandbox-direct` | `TERMBRIDGE_SANDBOX_DIRECT=true` | Spustiť server v sandboxe (bez tunela) |

Neexistuje príznak pre súkromný sandbox; použite `TERMBRIDGE_SANDBOX_PUBLIC=false`. Vstavaný výstup `termbridge --help` stále zobrazuje názvy `--daytona-*` a `--backend daytona`, ktoré sa odmietnu ([#1](https://github.com/inline0/termbridge/issues/1)).

## Riešenie problémov

**Zobrazenie ukážky je prázdne**
- Skontrolujte, či vývojový server beží v sandboxe.
- Použite `--host 0.0.0.0`, aby bol port ukážky dostupný.
- Overte, či `TERMBRIDGE_SANDBOX_PREVIEW_PORT` zodpovedá portu vývojového servera.

**Vytvorenie sandboxu zlyhá pre chyby kvóty**
- Odstráňte staré sandboxy na paneli Daytona.
- Pre krátkodobé relácie použite `TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true`.

**Klonovanie repozitára zlyhá**
- Znovu skontrolujte URL repozitára, vetvu a prihlasovacie údaje.
- Uistite sa, že token Git má prístup na čítanie repozitára.
