Daytona
Το Daytona επιτρέπει στο Termbridge να εκτελεί το τερματικό και την προεπισκόπησή σας σε sandbox cloud. Χρησιμοποιήστε το για αναπαραγώγιμο περιβάλλον, προεπισκόπηση cloud ή για να αφήσετε τον φορητό υπολογιστή σας αδρανή.
Απαιτήσεις
- Ένα κλειδί Daytona API
- Ένα αποθετήριο URL που μπορεί να κλωνοποιήσει το sandbox
- Διαπιστευτήρια Git αν το αποθετήριο είναι ιδιωτικό
Γρήγορη εκκίνηση
Ορίστε το backend σε Daytona και δώστε τις ρυθμίσεις του αποθετηρίου:
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
Έπειτα εκτελέστε το Termbridge ως συνήθως:
npx termbridge
Ορίζετε πάντα το TERMBRIDGE_SANDBOX_REPO (ή το --sandbox-repo). Αν λείπει, το Termbridge χρησιμοποιεί προς το παρόν ένα ενσωματωμένο προεπιλεγμένο αποθετήριο που δεν είναι δημόσια προσβάσιμο, οπότε δημιουργείται το sandbox αλλά αποτυγχάνει η κλωνοποίηση (#2).
Σύνδεση Daytona
| Μεταβλητή | Σκοπός |
|---|---|
TERMBRIDGE_DAYTONA_API_KEY |
Το κλειδί Daytona API σας |
TERMBRIDGE_DAYTONA_API_URL |
Τελικό σημείο API (προεπιλογή https://app.daytona.io/api) |
TERMBRIDGE_DAYTONA_TARGET |
Περιοχή προορισμού Daytona (προαιρετικά) |
Αυτά περνούν στο SDK Daytona. Αν κάποιο δεν έχει οριστεί, το SDK χρησιμοποιεί τη δική του μεταβλητή DAYTONA_API_KEY, DAYTONA_API_URL ή DAYTONA_TARGET.
Άμεση λειτουργία sandbox (χωρίς σήραγγα)
Στην άμεση λειτουργία, ο διακομιστής Termbridge εκτελείται μέσα στο sandbox και παραλείπεται εντελώς το Cloudflare. Ο σύνδεσμος κοινής χρήσης URL είναι ο σύνδεσμος προεπισκόπησης Daytona προς τον διακομιστή στο sandbox.
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080
Το TERMBRIDGE_SANDBOX_SERVER_PORT (ή το --port) χρησιμοποιεί από προεπιλογή το 8080. Η άμεση λειτουργία δημιουργεί δημόσιο sandbox, εκτός αν ορίσετε το TERMBRIDGE_SANDBOX_PUBLIC=false, ενώ το UI αποκρύπτει τον επιλογέα τερματικών.
Μπορείτε και πάλι να ενεργοποιήσετε την προεπισκόπηση ορίζοντας το TERMBRIDGE_SANDBOX_PREVIEW_PORT· στην άμεση λειτουργία προωθείται ως θύρα διακομιστή --proxy.
Κλωνοποίηση αποθετηρίου
Το Termbridge δημιουργεί ένα sandbox και κλωνοποιεί το αποθετήριό σας στον κατάλογο εργασίας του sandbox.
Χρησιμοποιήστε αυτές τις ρυθμίσεις:
| Μεταβλητή | Σκοπός |
|---|---|
TERMBRIDGE_SANDBOX_REPO |
Αποθετήριο URL για κλωνοποίηση (ορίζετέ το πάντα, δείτε τη γρήγορη εκκίνηση) |
TERMBRIDGE_SANDBOX_BRANCH |
Κλάδος προς ανάκτηση (προαιρετικό) |
TERMBRIDGE_SANDBOX_PATH |
Διαδρομή για το αποθετήριο στο sandbox (προαιρετικό) |
TERMBRIDGE_SANDBOX_NAME |
Όνομα sandbox (προαιρετικό, προεπιλογή: termbridge-<random hex>) |
Αν δεν έχει οριστεί το TERMBRIDGE_SANDBOX_PATH, το Termbridge το συνάγει από το όνομα του αποθετηρίου.
Ιδιωτικά αποθετήρια
Δώστε διαπιστευτήρια git κατά την κλωνοποίηση ιδιωτικών αποθετηρίων:
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token
Υποστηρίζεται επίσης το TERMBRIDGE_SANDBOX_GIT_PASSWORD και, αν οριστεί, υπερισχύει του token.
Πράκτορες προγραμματισμού
Το Termbridge μπορεί να εγκαταστήσει πράκτορες προγραμματισμού μέσα στο sandbox και να συγχρονίσει τον τοπικό έλεγχο ταυτότητάς σας, ώστε να είναι αμέσως έτοιμοι.
Δείτε τον οδηγό Πράκτορες προγραμματισμού για την πλήρη ρύθμιση, την αυτόματη λειτουργία και τις λεπτομέρειες ασφάλειας.
Λειτουργία προεπισκόπησης
Για να εμφανιστεί η προβολή προεπισκόπησης, ορίστε το TERMBRIDGE_SANDBOX_PREVIEW_PORT στη θύρα που χρησιμοποιεί ο διακομιστής ανάπτυξής σας μέσα στο sandbox.
Για το Vite, φροντίστε να κάνετε bind σε όλες τις διεπαφές:
npm run dev -- --host 0.0.0.0 --port 5173
Το Termbridge ανακτά τον σύνδεσμο προεπισκόπησης Daytona και τον προωθεί μέσω του διακομιστή Termbridge, ώστε η προεπισκόπηση να φορτώνεται μέσα στο UI.
Δημόσια και ιδιωτικά sandbox
| Μεταβλητή | Λειτουργία |
|---|---|
TERMBRIDGE_SANDBOX_PUBLIC=true |
Δημιουργεί δημόσιο sandbox |
TERMBRIDGE_SANDBOX_PUBLIC=false |
Δημιουργεί ιδιωτικό sandbox |
Όταν η μεταβλητή δεν έχει οριστεί, τα sandbox είναι ιδιωτικά, εκτός από την άμεση λειτουργία, όπου είναι δημόσια.
Για ιδιωτικά sandbox, το Termbridge προωθεί αυτόματα το token προεπισκόπησης κατά την προώθηση της προεπισκόπησης.
Εκκαθάριση και κύκλος ζωής
Για να διαγράφονται τα sandbox όταν τερματίζεται το Termbridge:
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Για sandbox βραχύβιας διάρκειας ή δοκιμών, χρησιμοποιήστε ένα πρόθεμα:
export TERMBRIDGE_SANDBOX_NAME=termbridge-test-$(date +%s)
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true
Έτσι διατηρείτε υπό έλεγχο τη χρήση των sandbox και αποφεύγετε προβλήματα με το όριο χώρου στον δίσκο.
Επιλογές CLI
Μπορείτε επίσης να ρυθμίσετε το Daytona μέσω επιλογών. Μια επιλογή υπερισχύει της αντίστοιχης μεταβλητής περιβάλλοντος.
| Επιλογή | Μεταβλητή περιβάλλοντος | Σκοπός |
|---|---|---|
--backend sandbox-daytona |
TERMBRIDGE_BACKEND |
Χρήση του backend Daytona |
--sandbox-repo <url> |
TERMBRIDGE_SANDBOX_REPO |
Αποθετήριο URL |
--sandbox-branch <branch> |
TERMBRIDGE_SANDBOX_BRANCH |
Κλάδος |
--sandbox-path <path> |
TERMBRIDGE_SANDBOX_PATH |
Διαδρομή αποθετηρίου στο sandbox |
--sandbox-name <name> |
TERMBRIDGE_SANDBOX_NAME |
Όνομα sandbox |
--sandbox-preview-port <port> |
TERMBRIDGE_SANDBOX_PREVIEW_PORT |
Θύρα προεπισκόπησης |
--sandbox-public |
TERMBRIDGE_SANDBOX_PUBLIC=true |
Δημιουργία δημόσιου sandbox |
--sandbox-direct |
TERMBRIDGE_SANDBOX_DIRECT=true |
Εκτέλεση του διακομιστή μέσα στο sandbox (χωρίς tunnel) |
Δεν υπάρχει επιλογή για ιδιωτικό sandbox· χρησιμοποιήστε το TERMBRIDGE_SANDBOX_PUBLIC=false. Η ενσωματωμένη έξοδος termbridge --help εξακολουθεί να εμφανίζει ονόματα --daytona-* και --backend daytona, τα οποία απορρίπτονται (#1).
Αντιμετώπιση προβλημάτων
Η προβολή προεπισκόπησης είναι κενή
- Βεβαιωθείτε ότι ο διακομιστής ανάπτυξης εκτελείται μέσα στο sandbox.
- Χρησιμοποιήστε το
--host 0.0.0.0ώστε να είναι προσβάσιμη η θύρα προεπισκόπησης. - Επιβεβαιώστε ότι το
TERMBRIDGE_SANDBOX_PREVIEW_PORTαντιστοιχεί στη θύρα του διακομιστή ανάπτυξης.
Η δημιουργία sandbox αποτυγχάνει με σφάλματα ορίου χρήσης
- Διαγράψτε παλιά sandbox από τον πίνακα ελέγχου Daytona.
- Χρησιμοποιήστε το
TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=trueγια συνεδρίες βραχύβιας διάρκειας.
Η κλωνοποίηση αποθετηρίου αποτυγχάνει
- Ελέγξτε ξανά το URL του αποθετηρίου, τον κλάδο και τα διαπιστευτήρια.
- Βεβαιωθείτε ότι το token Git έχει δικαίωμα ανάγνωσης του αποθετηρίου.