Pojde adalah lingkungan pengembangan multi-penyewa terdistribusi dengan akses web ke semua komponen.
Itu berusaha untuk menjadi ...
Dengan Pojde, Anda dapat mengembangkan dari perangkat apa pun dengan browser!
Untuk menginstal pojdectl , alat manajemen untuk pojde, jalankan yang berikut:
$ curl https://raw.githubusercontent.com/pojntfx/pojde/main/bin/pojdectl | bash -s -- upgrade-pojdectlBekerja di Linux, MacOS dan Windows (WSL2). Sekarang, lanjutkan penggunaan untuk membuat contoh pertama Anda.
Saya telah membuat video YouTube singkat yang memandu Anda melalui prosesnya:
Jika Anda lebih suka instruksi dalam bentuk tertulis, lanjutkan membaca.
Pojde mendukung menjalankan banyak contoh terisolasi pada host, di mana host dapat menjadi mesin lokal Anda, server cloud atau bahkan pi raspberry. Sebelum Anda melanjutkan ke langkah berikutnya, silakan instal Docker atau Podman di host yang ingin Anda jalankan. Harap dicatat:
Untuk membuat instance pertama Anda, gunakan pojdectl apply :
$ pojdectl apply my-first-instance 5000 # Append `-n root@your-ip:ssh-port` to create the instance on a remote host instead Sekarang ikuti instruksi. pojdectl apply akan meminta Anda untuk mengunduh sertifikat CA ke sistem Anda, yang harus Anda lakukan saat membuat contoh pertama; Contoh masa depan akan membagikan sertifikat ini. Anda juga bisa mendapatkan sertifikat di titik selanjutnya menggunakan pojdectl get-ca-cert .
Untuk mempercayai sertifikat CA, ikuti video yang telah kami buat untuk Anda:
Perhatikan bahwa Anda harus memilih sertifikat CA yang telah Anda unduh di langkah sebelumnya , tidak mengunduh sertifikat seperti yang dijelaskan dalam video.
Setelah selesai, konfirmasikan bahwa semuanya berjalan dengan baik dengan mendaftarkan contoh Anda dengan pojdectl list :
$ pojdectl list # Append `-n root@your-ip:ssh-port` to list the instances on a remote host instead
NAME STATUS PORTS
my-first-instance running 5000-5005 Seperti yang Anda lihat, contoh pertama kami ( my-first-instance ) sedang berjalan dan telah mengekspos port 5000 hingga 5005 . Rentang port ini telah dipilih ketika kami menjalankan pojdectl apply di atas.
Anda sekarang dapat mengakses layanan yang telah Anda aktifkan (ganti localhost dengan IP atau domain host jarak jauh Anda jika Anda digunakan ke host jarak jauh):
| Ikon | Melayani | Alamat | Keterangan |
|---|---|---|---|
| Jupyterlab | https: // localhost: 5004/ | Lingkungan pengembangan interaktif |
Jika Anda tidak dapat mengakses layanan dari luar localhost , pastikan untuk membuka port di firewall Anda.
Selain itu, ada server SSH yang berjalan di port 5005 yang dapat Anda gunakan untuk meneruskan port dari instance dengan pojdectl forward :
$ pojdectl forward local my-first-instance 127.0.0.1:4200:127.0.0.1:1234 127.0.0.1:4201:127.0.0.1:1235 # Append `-n root@your-ip:ssh-port` to also forward from the remote host to the local host Ini, misalnya, ke depan port jarak jauh 1234 dalam instance ke port lokal 4200 dan port jarak jauh 1235 ke port lokal 4201 .
Anda juga dapat meneruskan port ke contoh:
$ pojdectl forward remote my-first-instance 127.0.0.1:6969:127.0.0.1:6969 # Append `-n root@your-ip:ssh-port` to also forward from the local host to the remote hostItu saja! Kami harap Anda menikmati menggunakan pojde. Pastikan juga untuk melihat bagian pembaruan dan FAQ untuk menjaga pengaturan Pojde Anda tetap up to date.
Pojde didasarkan pada gambar dasar minimal; Fungsi tambahan dapat ditambahkan dengan mengaktifkan salah satu modul berikut saat menjalankan pojdectl apply :
| Ikon | Nama | Keterangan |
|---|---|---|
| C/C ++ | GCC, GDB, CMake, Ekstensi C/C ++ VScode dan Kernel Jupyter C ++ | |
| Pergi | Go, Tinygo, ekstensi go/tinygo vscode dan go jupyter kernel | |
| Python | Python, Pip, Ekstensi Vscode Python dan Kernel Python Jupyter | |
| Karat | Karat, kargo, ekstensi vscode karat dan kernel jupyter karat | |
| Javascript | Node, ekstensi vscode JavaScript/TypeScript dan Javascript Jupyter Kernel | |
| Rubi | Ruby, Ekstensi Ruby Vscode dan Kernel Jupyter Ruby | |
| C# | Mono, .net, PowerShell, ekstensi C#vScode dan C#/F#/PowerShell Jupyter Kernels | |
| Jawa | Java, Maven, Gradle, Java Vscode Extensions dan Java Jupyter Kernel | |
| R | R, ekstensi r vScode dan kernel r jupyter r | |
| SQL | SQLite, Mariadb, PostgreSQL, Ekstensi SQL VScode dan Kernel SQL Jupyter | |
| Pesta | Bash, Ekstensi Bash Vscode dan Bash Jupyter Kernel |
kubectl , helm , k9s , skaffold , k3d dan lebih banyak alat DevOpspandoc , plantuml , gnuplot , Media, Office, PDF dan Dukungan Markdown/Lateks untuk VScodetmux , jq , htop dll.nmap , iperf3 dll.lynx , links , aerc dll.ffmpeg , Handbrake, youtube-dl dll. $ pojdectl --help
pojdectl is the management tool for pojde.
Global Flags:
[-n]ode < user@host:port > Remote host to execute on.
If not specified, execute locally.
Modification Commands:
apply < name > < startPort > Create or upgrade an instance.
[-f]orce Skip confirmation prompts.
[-u]pgrade Pull latest image.
[-r]ecreate Re-create the container.
[-i]solate Block Docker daemon access.
[-p]rivileged Run in privileged mode.
remove [name...] Remove instances(s).
[-f]orce Skip confirmation prompts.
[-c]ustomization Remove customizations.
[-p]references Remove preferences.
[-s]ecurity Remove CA.
[-u]ser data Remove user data.
[-t]ransfer Remove transfer data.
[-d]eb cache Remove .deb cache.
[-a]ll Remove everything.
list List all instances.
Lifecycle Commands:
start [name...] Start instance(s).
stop [name...] Stop instance(s).
restart [name...] Restart instance(s).
Utility Commands:
logs < name > Get the logs of an instance.
enter < name > Get a shell in an instance.
forward < name > < local | remote > [lhost:lport:rhost:rport...] Forward port(s) to or from an instance.
Miscellaneous Commands:
upgrade-pojdectl Upgrade this tool.
get-ca-cert [-p]rint Get the CA cert.
reset-ca [-f]orce Reset the CA.
For more information, please visit https://github.com/pojntfx/pojde#Usage.Untuk berkontribusi, silakan gunakan aliran GitHub dan ikuti kode perilaku kami.
Untuk membangun dan memulai versi pengembangan Pojde secara lokal, jalankan berikut ini:
$ git clone https://github.com/pojntfx/pojde.git
$ cd pojde
$ make build
$ ./bin/pojdectl apply my-first-instance 5000 -f -r Anda sekarang harus menjalankan layanan POJDE di http: // localhost: 5000/melalui http: // localhost: 5004/(lihat mengakses layanan). Setiap kali Anda mengubah sesuatu dalam kode sumber, jalankan make build dan ./bin/pojdectl apply my-first-instance 5000 -f -r lagi, yang akan mengkompilasi ulang dan memulai kembali layanan.
Punya pertanyaan atau butuh bantuan? Mengobrol dengan kami di matriks!
pojdectl pojdectl termasuk alat pembaruan sendiri, yang dapat Anda panggil dengan menjalankan yang berikut:
$ pojdectl upgrade-pojdectl Memperbarui sebuah instance (untuk mendapatkan versi PoJDE terbaru) dan mengubah konfigurasi instance keduanya dilakukan dengan menggunakan perintah pojdectl apply .
Untuk misalnya Perbarui contoh yang dibuat dalam penggunaan atau untuk mengubah konfigurasinya, modul yang diinstal dll., Jalankan yang berikut dan ikuti instruksi:
$ pojdectl apply my-first-instance 5000 -f -r -u # Append `-n root@your-ip:ssh-port` to upgrade the instance on a remote host insteadAda beberapa strategi pembaruan dan konfigurasi yang tersedia; Lihat referensi untuk lebih banyak opsi.
Kombinasi berikut diketahui berfungsi:
Menggunakan Docker dan Cgroups V2 bersama-sama pada host berbasis SystemD tidak berfungsi, karena menjalankan SystemD di dalam wadah belum didukung dengan benar menggunakan konfigurasi ini. Jika Anda menggunakan Cgroups V2, IE jika Anda menggunakan Fedora, silakan gunakan Podman. Atau, Anda juga dapat beralih ke Cgroups V1 dan menggunakan Docker:
$ sudo grubby --update-kernel=ALL --args= " systemd.unified_cgroup_hierarchy=0 "
$ sudo reboot Berkat skrip pojde-docker-env , volume pemasangan Docker dari dalam sebuah contoh didukung:
pojntfx@5d084b2bf2ca: ~ $ pojde-docker-env # Run this in the instance, using i.e. `ttyd` or code-server's terminal
pojntfx@5d084b2bf2ca:/var/lib/docker/volumes/pojde-my-first-instance-home-user/_data/pojntfx$ # You can now use i.e. `docker run -v` in this shell! Anda juga dapat memblokir akses Docker Daemon sepenuhnya dengan menentukan bendera -i ; Lihat referensi untuk informasi lebih lanjut.
Ada banyak opsi yang tersedia untuk mentransfer file; Anda dapat misalnya menggunakan scp , opsi "tradisional" lain atau menggunakan salah satu dari yang inbuilt berikut.
Folder transfer secara otomatis dibuat untuk pertukaran data yang lebih mudah antara sistem host dan instance; Folder ini dipasang ke ~/Documents dalam contoh dan tersedia di ~/Documents/pojde/your-instance-name pada sistem host.
Webwormhole (tersedia sebagai ww ) telah diinstal sebelumnya dalam setiap contoh; Ini memungkinkan Anda untuk bertukar file secara global dengan menggunakan WEBRTC. Cari tahu lebih lanjut di Webwormhole Github Repo.
Pojde (C) 2021 Felicitas Pojtinger dan Kontributor
SPDX-LICENSE-Identifier: AGPL-3.0