
# Daytona

Daytona umožňuje spouštět terminál a náhled Termbridge v cloudovém sandboxu. Využijte ho, když potřebujete reprodukovatelné prostředí nebo cloudový náhled, případně chcete nechat notebook v klidu.

## Požadavky

- Klíč Daytona API
- Repozitář URL, který může sandbox naklonovat
- Přihlašovací údaje Git, pokud je repozitář soukromý

## Rychlý začátek

Nastavte backend na Daytona a zadejte konfiguraci repozitáře:

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

Poté spusťte Termbridge jako obvykle:

```bash
npx termbridge
```

Vždy nastavte `TERMBRIDGE_SANDBOX_REPO` (nebo `--sandbox-repo`). Pokud tato hodnota chybí, Termbridge nyní použije vestavěný výchozí repozitář, který není veřejně přístupný, takže sandbox se vytvoří, ale klonování selže ([#2](https://github.com/inline0/termbridge/issues/2)).

## Připojení k Daytona

| Proměnná | Účel |
| --- | --- |
| `TERMBRIDGE_DAYTONA_API_KEY` | Váš klíč Daytona API |
| `TERMBRIDGE_DAYTONA_API_URL` | Koncový bod API (výchozí hodnota `https://app.daytona.io/api`) |
| `TERMBRIDGE_DAYTONA_TARGET` | Cílová oblast Daytona (volitelné) |

Tyto hodnoty se předávají SDK Daytona. Pokud některá není nastavena, SDK použije vlastní proměnnou `DAYTONA_API_KEY`, `DAYTONA_API_URL` nebo `DAYTONA_TARGET`.

## Přímý režim sandboxu (bez tunelu)

V přímém režimu běží server Termbridge uvnitř sandboxu a Cloudflare se zcela vynechá. Sdílený odkaz URL je odkazem Daytona pro náhled serveru v sandboxu.

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

Výchozí hodnota `TERMBRIDGE_SANDBOX_SERVER_PORT` (nebo `--port`) je `8080`. Přímý režim vytvoří veřejný sandbox, pokud nenastavíte `TERMBRIDGE_SANDBOX_PUBLIC=false`, a UI skryje přepínač terminálů.

Náhled můžete stále zapnout nastavením `TERMBRIDGE_SANDBOX_PREVIEW_PORT`; v přímém režimu se tato hodnota předá jako port serveru `--proxy`.

## Klonování repozitáře

Termbridge vytvoří sandbox a naklonuje do jeho pracovního adresáře váš repozitář.

Použijte tato nastavení:

| Proměnná | Účel |
| --- | --- |
| `TERMBRIDGE_SANDBOX_REPO` | URL repozitáře ke klonování (vždy nastavte, viz rychlý úvod) |
| `TERMBRIDGE_SANDBOX_BRANCH` | Větev, kterou chcete načíst (volitelné) |
| `TERMBRIDGE_SANDBOX_PATH` | Cesta k repozitáři v sandboxu (volitelné) |
| `TERMBRIDGE_SANDBOX_NAME` | Název sandboxu (volitelné, výchozí hodnota `termbridge-<random hex>`) |

Pokud není nastavena hodnota `TERMBRIDGE_SANDBOX_PATH`, Termbridge ji odvodí z názvu repozitáře.

## Soukromé repozitáře

Při klonování soukromých repozitářů zadejte přihlašovací údaje git:

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

Podporována je také proměnná `TERMBRIDGE_SANDBOX_GIT_PASSWORD`, která v případě nastavení přepíše token.

## Programovací agenti

Termbridge může nainstalovat programovací agenty do sandboxu a synchronizovat vaše místní ověření, aby byli ihned připraveni k použití.

Úplné nastavení, automatický režim a informace o zabezpečení najdete v průvodci [Programovací agenti](https://termbridge.inline0.dev/cs/docs/sandboxes/coding-agents).

## Režim náhledu

Chcete-li zobrazit náhled, nastavte `TERMBRIDGE_SANDBOX_PREVIEW_PORT` na port, který používá váš vývojový server uvnitř sandboxu.

Pro Vite se ujistěte, že server naslouchá na všech síťových rozhraních:

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

Termbridge načte odkaz Daytona pro náhled a předá ho přes server Termbridge, aby se náhled načetl v UI.

## Veřejné a soukromé sandboxy

| Proměnná | Funkce |
| --- | --- |
| `TERMBRIDGE_SANDBOX_PUBLIC=true` | Vytvoří veřejný sandbox |
| `TERMBRIDGE_SANDBOX_PUBLIC=false` | Vytvoří soukromý sandbox |

Není-li proměnná nastavena, sandboxy jsou soukromé, s výjimkou přímého režimu, ve kterém jsou veřejné.

U soukromých sandboxů Termbridge při předávání náhledu automaticky předá také jeho token.

## Úklid a životní cyklus

Chcete-li sandboxy odstranit při ukončení Termbridge:

```bash
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
```

U krátkodobých nebo testovacích sandboxů použijte předponu:

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

Tím budete mít využívání sandboxů pod kontrolou a předejdete problémům s kvótou disku.

## Příznaky CLI

Daytona lze také konfigurovat pomocí příznaků. Příznak má přednost před odpovídající proměnnou prostředí.

| Příznak | Proměnná prostředí | Účel |
| --- | --- | --- |
| `--backend sandbox-daytona` | `TERMBRIDGE_BACKEND` | Použít backend Daytona |
| `--sandbox-repo <url>` | `TERMBRIDGE_SANDBOX_REPO` | URL repozitáře |
| `--sandbox-branch <branch>` | `TERMBRIDGE_SANDBOX_BRANCH` | Větev |
| `--sandbox-path <path>` | `TERMBRIDGE_SANDBOX_PATH` | Cesta k repozitáři v sandboxu |
| `--sandbox-name <name>` | `TERMBRIDGE_SANDBOX_NAME` | Název sandboxu |
| `--sandbox-preview-port <port>` | `TERMBRIDGE_SANDBOX_PREVIEW_PORT` | Port náhledu |
| `--sandbox-public` | `TERMBRIDGE_SANDBOX_PUBLIC=true` | Vytvořit veřejný sandbox |
| `--sandbox-direct` | `TERMBRIDGE_SANDBOX_DIRECT=true` | Spustit server uvnitř sandboxu (bez tunelu) |

Pro soukromý sandbox neexistuje žádný příznak; použijte `TERMBRIDGE_SANDBOX_PUBLIC=false`. Vestavěný výstup `termbridge --help` stále zobrazuje názvy `--daytona-*` a `--backend daytona`, které jsou odmítány ([#1](https://github.com/inline0/termbridge/issues/1)).

## Řešení problémů

**Náhled je prázdný**
- Ověřte, že vývojový server běží uvnitř sandboxu.
- Použijte `--host 0.0.0.0`, aby byl port náhledu dostupný.
- Zkontrolujte, zda `TERMBRIDGE_SANDBOX_PREVIEW_PORT` odpovídá portu vývojového serveru.

**Vytvoření sandboxu selže kvůli kvótě**
- Odstraňte staré sandboxy na ovládacím panelu Daytona.
- Pro krátkodobé relace použijte `TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true`.

**Klonování repozitáře selže**
- Zkontrolujte adresu URL repozitáře, větev a přihlašovací údaje.
- Ověřte, že token Git má oprávnění ke čtení repozitáře.
