Daytona
Daytona memungkinkan Termbridge menjalankan terminal dan pratinjau Anda di sandbox cloud. Gunakan ini untuk lingkungan yang dapat direproduksi, pratinjau cloud, atau agar laptop Anda tetap tidak aktif.
Persyaratan
- Kunci Daytona API
- Repositori URL yang dapat diklon oleh sandbox
- Kredensial Git jika repositori bersifat privat
Mulai cepat
Tetapkan backend ke Daytona dan berikan konfigurasi repositori:
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
Lalu jalankan Termbridge seperti biasa:
npx termbridge
Selalu tetapkan TERMBRIDGE_SANDBOX_REPO (atau --sandbox-repo). Jika tidak ditetapkan, saat ini Termbridge menggunakan repositori bawaan yang tidak dapat diakses publik. Akibatnya, sandbox dibuat tetapi proses klon gagal (#2).
Koneksi Daytona
| Variabel | Tujuan |
|---|---|
TERMBRIDGE_DAYTONA_API_KEY |
Kunci Daytona API Anda |
TERMBRIDGE_DAYTONA_API_URL |
Endpoint API (default https://app.daytona.io/api) |
TERMBRIDGE_DAYTONA_TARGET |
Wilayah target Daytona (opsional) |
Nilai ini diteruskan ke SDK Daytona. Jika salah satunya tidak ditetapkan, SDK menggunakan variabel DAYTONA_API_KEY, DAYTONA_API_URL, atau DAYTONA_TARGET miliknya sendiri sebagai pengganti.
Mode sandbox langsung (tanpa tunnel)
Mode langsung menjalankan server Termbridge di dalam sandbox dan melewati Cloudflare sepenuhnya. URL berbagi adalah tautan pratinjau Daytona ke server dalam sandbox.
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080
TERMBRIDGE_SANDBOX_SERVER_PORT (atau --port) menggunakan 8080 secara default. Mode langsung membuat sandbox publik kecuali jika Anda menetapkan TERMBRIDGE_SANDBOX_PUBLIC=false, dan UI menyembunyikan pengalih terminal.
Anda tetap dapat mengaktifkan pratinjau dengan menetapkan TERMBRIDGE_SANDBOX_PREVIEW_PORT; dalam mode langsung, nilai ini diteruskan sebagai port --proxy server.
Mengklon repositori
Termbridge akan membuat sandbox dan mengklon repositori Anda ke direktori kerja sandbox.
Gunakan pengaturan berikut:
| Variabel | Tujuan |
|---|---|
TERMBRIDGE_SANDBOX_REPO |
Repo URL untuk diklon (selalu atur, lihat mulai cepat) |
TERMBRIDGE_SANDBOX_BRANCH |
Branch yang akan di-checkout (opsional) |
TERMBRIDGE_SANDBOX_PATH |
Path repo di sandbox (opsional) |
TERMBRIDGE_SANDBOX_NAME |
Nama sandbox (opsional, default-nya termbridge-<random hex>) |
Jika TERMBRIDGE_SANDBOX_PATH tidak diatur, Termbridge akan menurunkannya dari nama repo.
Repositori privat
Berikan kredensial git saat mengkloning repo privat:
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token
TERMBRIDGE_SANDBOX_GIT_PASSWORD juga didukung dan akan menggantikan token jika diatur.
Agen coding
Termbridge dapat menginstal agen coding di dalam sandbox dan menyinkronkan autentikasi lokal Anda agar siap digunakan segera.
Lihat panduan Agen coding untuk penyiapan lengkap, mode otomatis, dan detail keamanan.
Mode pratinjau
Untuk menampilkan tampilan pratinjau, atur TERMBRIDGE_SANDBOX_PREVIEW_PORT ke port yang digunakan server dev Anda di dalam sandbox.
Untuk Vite, pastikan Anda mengikatnya ke semua antarmuka:
npm run dev -- --host 0.0.0.0 --port 5173
Termbridge mengambil tautan pratinjau Daytona dan meneruskannya melalui server Termbridge agar pratinjau dimuat di dalam UI.
Sandbox publik vs privat
| Variabel | Fungsinya |
|---|---|
TERMBRIDGE_SANDBOX_PUBLIC=true |
Membuat sandbox publik |
TERMBRIDGE_SANDBOX_PUBLIC=false |
Membuat sandbox privat |
Jika variabel tidak diatur, sandbox bersifat privat, kecuali dalam mode langsung, yang menjadikannya publik.
Untuk sandbox privat, Termbridge otomatis meneruskan token pratinjau saat memproksi pratinjau.
Pembersihan dan siklus hidup
Untuk menghapus sandbox saat Termbridge keluar:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Untuk sandbox sementara atau pengujian, gunakan prefiks:
export TERMBRIDGE_SANDBOX_NAME=termbridge-test-$(date +%s)
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Ini membantu mengendalikan penggunaan sandbox dan menghindari masalah kuota disk.
Flag CLI
Anda juga dapat mengonfigurasi Daytona melalui flag. Flag akan lebih diutamakan daripada variabel lingkungan yang sesuai.
| Flag | Variabel lingkungan | Tujuan |
|---|---|---|
--backend sandbox-daytona |
TERMBRIDGE_BACKEND |
Gunakan backend Daytona |
--sandbox-repo <url> |
TERMBRIDGE_SANDBOX_REPO |
Repo URL |
--sandbox-branch <branch> |
TERMBRIDGE_SANDBOX_BRANCH |
Branch |
--sandbox-path <path> |
TERMBRIDGE_SANDBOX_PATH |
Path repo di sandbox |
--sandbox-name <name> |
TERMBRIDGE_SANDBOX_NAME |
Nama sandbox |
--sandbox-preview-port <port> |
TERMBRIDGE_SANDBOX_PREVIEW_PORT |
Port pratinjau |
--sandbox-public |
TERMBRIDGE_SANDBOX_PUBLIC=true |
Buat sandbox publik |
--sandbox-direct |
TERMBRIDGE_SANDBOX_DIRECT=true |
Jalankan server di dalam sandbox (tanpa tunnel) |
Tidak ada flag untuk sandbox privat; gunakan TERMBRIDGE_SANDBOX_PUBLIC=false. Keluaran bawaan termbridge --help tetap menampilkan nama --daytona-* dan --backend daytona, yang ditolak (#1).
Pemecahan masalah
Tampilan pratinjau kosong
- Pastikan server dev berjalan di dalam sandbox.
- Gunakan
--host 0.0.0.0agar port pratinjau dapat dijangkau. - Pastikan
TERMBRIDGE_SANDBOX_PREVIEW_PORTcocok dengan port server dev.
Pembuatan sandbox gagal karena kesalahan kuota
- Hapus sandbox lama di dasbor Daytona.
- Gunakan
TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=trueuntuk sesi sementara.
Klon repo gagal
- Periksa kembali repo URL, branch, dan kredensial.
- Pastikan token Git memiliki akses baca repo.