POJDE เป็นสภาพแวดล้อมการพัฒนาผู้เช่าหลายรายที่มีการเข้าถึงเว็บสำหรับส่วนประกอบทั้งหมด
มันมุ่งมั่นที่จะเป็น ...
ด้วย Pojde คุณสามารถ พัฒนาจากอุปกรณ์ใด ๆ ด้วยเบราว์เซอร์!
ในการติดตั้ง pojdectl เครื่องมือการจัดการสำหรับ pojde เรียกใช้สิ่งต่อไปนี้:
$ curl https://raw.githubusercontent.com/pojntfx/pojde/main/bin/pojdectl | bash -s -- upgrade-pojdectlทำงานบน Linux, MacOS และ Windows (WSL2) ตอนนี้ใช้งานต่อเพื่อสร้างอินสแตนซ์แรกของคุณ
ฉันได้สร้างวิดีโอ YouTube สั้น ๆ ซึ่งจะแนะนำคุณตลอดกระบวนการ:
หากคุณต้องการคำแนะนำในรูปแบบที่เป็นลายลักษณ์อักษรอ่านต่อ
POJDE รองรับการใช้งานอินสแตนซ์ที่แยกได้หลายอย่างบนโฮสต์ซึ่งโฮสต์สามารถเป็นเครื่องในเครื่องของคุณเซิร์ฟเวอร์คลาวด์หรือแม้แต่ Raspberry Pi ก่อนที่คุณจะทำตามขั้นตอนต่อไปโปรดติดตั้ง Docker หรือ Podman บนโฮสต์ที่คุณต้องการเรียกใช้อินสแตนซ์ โปรดทราบ:
ในการสร้างอินสแตนซ์แรกของคุณให้ใช้ pojdectl apply :
$ pojdectl apply my-first-instance 5000 # Append `-n root@your-ip:ssh-port` to create the instance on a remote host instead ตอนนี้ทำตามคำแนะนำ pojdectl apply จะขอให้คุณดาวน์โหลดใบรับรอง CA ไปยังระบบของคุณซึ่งคุณควรทำเมื่อสร้างอินสแตนซ์แรก อินสแตนซ์ในอนาคตจะแบ่งปันใบรับรองนี้ นอกจากนี้คุณยังสามารถรับใบรับรองได้ในภายหลังโดยใช้ pojdectl get-ca-cert
หากต้องการเชื่อถือใบรับรอง CA ให้ติดตามวิดีโอที่เราสร้างขึ้นเพื่อคุณ:
โปรดทราบว่าคุณจะต้อง เลือกใบรับรอง CA ที่คุณดาวน์โหลดในขั้นตอนก่อนหน้านี้ ไม่ดาวน์โหลดใบรับรองตามที่อธิบายไว้ในวิดีโอ
เมื่อคุณทำเสร็จแล้วให้ยืนยันว่าทุกอย่างเป็นไปด้วยดีโดยแสดงรายการอินสแตนซ์ของคุณด้วย 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 อย่างที่คุณเห็นอินสแตนซ์แรกของเรา ( my-first-instance ) กำลังทำงานอยู่และได้เปิดพอร์ต 5000 ถึง 5005 ช่วงพอร์ตนี้ได้รับการคัดเลือกเมื่อเราใช้ pojdectl apply ด้านบน
ตอนนี้คุณสามารถเข้าถึงบริการที่คุณเปิดใช้งาน (แทนที่ localhost ด้วย IP หรือโดเมนของโฮสต์ระยะไกลของคุณหากคุณปรับใช้กับโฮสต์ระยะไกล):
| ไอคอน | บริการ | ที่อยู่ | คำอธิบาย |
|---|---|---|---|
| jupyterlab | https: // localhost: 5004/ | สภาพแวดล้อมการพัฒนาแบบโต้ตอบ |
หากคุณไม่สามารถเข้าถึงบริการจาก Outside localhost ให้แน่ใจว่าได้เปิดพอร์ตบนไฟร์วอลล์ของคุณ
นอกจากนี้ยังมีเซิร์ฟเวอร์ SSH ที่ทำงานบนพอร์ต 5005 ซึ่งคุณสามารถใช้เพื่อส่งต่อพอร์ตจากอินสแตนซ์ด้วย 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 ตัวอย่างเช่นนี้ส่งต่อระยะไกลพอร์ต 1234 ในอินสแตนซ์ไปยังพอร์ตท้องถิ่น 4200 และพอร์ตระยะไกล 1235 ไปยังพอร์ตท้องถิ่น 4201
นอกจากนี้คุณยังสามารถส่งต่อพอร์ตไปยังอินสแตนซ์:
$ 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 hostแค่ไหน! เราหวังว่าคุณจะสนุกกับการใช้ pojde โปรดตรวจสอบให้แน่ใจว่าได้ตรวจสอบส่วนการอัปเดตและคำถามที่พบบ่อยเพื่อให้การตั้งค่า POJDE ของคุณทันสมัย
Pojde ขึ้นอยู่กับภาพฐานน้อยที่สุด สามารถเพิ่มฟังก์ชั่นเพิ่มเติมได้โดยการเปิดใช้งานโมดูลต่อไปนี้เมื่อใช้ pojdectl apply :
| ไอคอน | ชื่อ | คำอธิบาย |
|---|---|---|
| C/C ++ | GCC, GDB, CMake, ส่วนขยาย C/C ++ VSCODE และเคอร์เนล Jupyter C ++ | |
| ไป | GO, TINYGO, ส่วนขยาย GO/TINYGO VSCODE และ GO JUPYTER เคอร์เนล | |
| งูหลาม | Python, Pip, Python VScode Extensions และ Python Jupyter เคอร์เนล | |
| สนิม | สนิม, สินค้า, ส่วนขยายของ Rust Vscode และเคอร์เนล Jupyter สนิม | |
| จาวาสคริปต์ | โหนด, ส่วนขยาย VSCODE JavaScript/typeScript | |
| ทับทิม | ทับทิมส่วนขยาย Ruby Vscode และเคอร์เนล Ruby Jupyter | |
| C# | Mono, .NET, PowerShell, ส่วนขยาย C#VSCODE และ C#/F#/POWERSHELL JUPYTER KERNELS | |
| ชวา | Java, Maven, Gradle, Java Vscode Extensions และ Java Jupyter เคอร์เนล | |
| R | R, ส่วนขยาย R VSCODE และเคอร์เนล R JUPYTER | |
| SQL | SQLite, Mariadb, PostgreSQL, ส่วนขยาย SQL VSCODE และเคอร์เนล SQL JUPYTER | |
| ทุบตี | Bash, ส่วนขยาย Bash Vscode และเคอร์เนล Bash Jupyter |
kubectl , helm , k9s , skaffold , k3d และ More DevOps Toolspandoc , plantuml , gnuplot , สื่อ, สำนักงาน, PDF และการสนับสนุน Markdown/LaTex สำหรับ VScodetmux , jq , htop ฯลฯnmap , iperf3 ฯลฯlynx , links , aerc ฯลฯffmpeg , Handbrake, youtube-dl เป็นต้น $ 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.หากต้องการมีส่วนร่วมโปรดใช้ GitHub Flow และปฏิบัติตามจรรยาบรรณของเรา
ในการสร้างและเริ่มต้นเวอร์ชันการพัฒนาของ pojde ในพื้นที่ให้เรียกใช้สิ่งต่อไปนี้:
$ git clone https://github.com/pojntfx/pojde.git
$ cd pojde
$ make build
$ ./bin/pojdectl apply my-first-instance 5000 -f -r ตอนนี้คุณควรให้บริการ POJDE ทำงานบน http: // localhost: 5000/ผ่าน http: // localhost: 5004/(ดูการเข้าถึงบริการ) เมื่อใดก็ตามที่คุณเปลี่ยนบางอย่างในซอร์สโค้ดให้เรียกใช้ make build และ ./bin/pojdectl apply my-first-instance 5000 -f -r อีกครั้งซึ่งจะทำการคอมไพล์และรีสตาร์ทบริการอีกครั้ง
มีคำถามหรือต้องการความช่วยเหลือหรือไม่? แชทกับเราในเมทริกซ์!
pojdectl pojdectl มีเครื่องมืออัปเดตตัวเองซึ่งคุณสามารถเรียกใช้ได้โดยเรียกใช้สิ่งต่อไปนี้:
$ pojdectl upgrade-pojdectl การอัปเดตอินสแตนซ์ (เพื่อรับเวอร์ชัน POJDE ล่าสุด) และการเปลี่ยนการกำหนดค่าของอินสแตนซ์นั้นทำได้โดยใช้คำสั่ง pojdectl apply
ตัวอย่างเช่นอัปเดตอินสแตนซ์ที่สร้างขึ้นในการใช้งานหรือเปลี่ยนการกำหนดค่าโมดูลที่ติดตั้ง ฯลฯ รันต่อไปนี้และทำตามคำแนะนำ:
$ pojdectl apply my-first-instance 5000 -f -r -u # Append `-n root@your-ip:ssh-port` to upgrade the instance on a remote host insteadมีกลยุทธ์การอัปเดตและการกำหนดค่าหลายอย่าง ดูการอ้างอิงสำหรับตัวเลือกเพิ่มเติม
ชุดค่าผสมต่อไปนี้เป็นที่รู้จักกันในการทำงาน:
การใช้ Docker และ Cgroups V2 ร่วมกันบนโฮสต์ที่ใช้ระบบไม่ทำงานเนื่องจากการรันระบบภายในคอนเทนเนอร์ยังไม่ได้รับการสนับสนุนอย่างถูกต้องโดยใช้การกำหนดค่านี้ หากคุณใช้ cgroups v2 นั่นคือถ้าคุณอยู่ใน Fedora โปรดใช้ Podman หรือคุณสามารถเปลี่ยนเป็น cgroups v1 และใช้ Docker:
$ sudo grubby --update-kernel=ALL --args= " systemd.unified_cgroup_hierarchy=0 "
$ sudo reboot ต้องขอบคุณสคริปต์ pojde-docker-env การติดตั้ง Docker Volumes จากภายในอินสแตนซ์ได้รับการสนับสนุน:
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! นอกจากนี้คุณยังสามารถบล็อก Docker Daemon Access ได้อย่างสมบูรณ์โดยการระบุธง -i ; ดูการอ้างอิงสำหรับข้อมูลเพิ่มเติม
มีตัวเลือกมากมายในการถ่ายโอนไฟล์ คุณสามารถใช้ scp ตัวเลือก "ดั้งเดิม" อื่นหรือใช้หนึ่งในตัวเลือก inbuilt ต่อไปนี้
โฟลเดอร์การถ่ายโอนถูกสร้างขึ้นโดยอัตโนมัติเพื่อการแลกเปลี่ยนข้อมูลระหว่างระบบโฮสต์และอินสแตนซ์ที่ง่ายยิ่งขึ้น โฟลเดอร์นี้ติดตั้งลงใน ~/Documents ในอินสแตนซ์และมีอยู่ที่ ~/Documents/pojde/your-instance-name บนระบบโฮสต์
WebWormhole (มีให้เป็น ww ) ติดตั้งไว้ล่วงหน้าในทุก ๆ กรณี ช่วยให้คุณแลกเปลี่ยนไฟล์ทั่วโลกโดยใช้ WEBRTC ค้นหาข้อมูลเพิ่มเติมได้ที่ webwormhole github repo
pojde (c) 2021 Felicitas Pojtinger และผู้สนับสนุน
SPDX-license-identifier: AGPL-3.0