Μετάβαση στο περιεχόμενο

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 έχει δικαίωμα ανάγνωσης του αποθετηρίου.