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/ | بيئة التنمية التفاعلية |
إذا لم تتمكن من الوصول إلى الخدمات من خارج 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 و C ++ jupyter kernel | |
| يذهب | اذهب ، Tinygo ، ملحقات Go/Tinygo Vscode و Go Jupyter kernel | |
| بيثون | Python ، Pip ، The Python Vscode extensions و Python Jupyter kernel | |
| الصدأ | الصدأ ، البضائع ، ملحقات الصدأ vscode و kinel الصدأ jupyter | |
| جافا سكريبت | العقدة ، ملحقات JavaScript/TypeScript VScode و JavaScript Jupyter kernel | |
| روبي | روبي ، ملحقات Ruby Vscode و Ruby Jupyter kernel | |
| ج# | Mono ، .NET ، PowerShell ، ملحقات C#vscode و C#/F#/PowerShell Jupyter Kernels | |
| جافا | Java ، Maven ، Gradle ، The Java Vscode extensions و Java Jupyter kernel | |
| ص | R ، امتدادات R VScode و R Jupyter kernel | |
| SQL | Sqlite ، Mariadb ، PostgreSQL ، ملحقات SQL VScode و SQL Jupyter kernel | |
| سحق | باش ، ملحقات باش VSCode و Bash Jupyter kernel |
kubectl و helm و k9s و skaffold و k3d والمزيد من أدوات DevOpspandoc ، plantuml ، gnuplot ، Media ، Office ، PDF و Smarkdown/LaTex Support for VSCodetmux ، jq ، htop وما إلى ذلكnmap ، iperf3 إلخ.lynx ، links ، aerc وما إلى ذلك.ffmpeg ، فرملة اليد ، 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.للمساهمة ، يرجى استخدام تدفق جيثب واتباع مدونة قواعد السلوك الخاصة بنا.
لبناء وبدء نسخة تطوير من 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 معًا على مضيف قائم على النظام ، لأن تشغيل SystemD داخل الحاوية لم يتم دعمه بعد باستخدام هذا التكوين. إذا كنت تستخدم Cgroups V2 ، أي إذا كنت في Fedora ، فيرجى استخدام Podman. بدلاً من ذلك ، يمكنك أيضًا التبديل إلى Cgroups V1 واستخدام Docker:
$ sudo grubby --update-kernel=ALL --args= " systemd.unified_cgroup_hierarchy=0 "
$ sudo reboot بفضل البرنامج النصي pojde-docker-env ، يتم دعم أحجام التثبيت من داخل مثيل:
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 بالكامل عن طريق تحديد علم -i ؛ انظر المرجع لمزيد من المعلومات.
هناك العديد من الخيارات المتاحة لنقل الملفات ؛ يمكنك على سبيل المثال استخدام scp ، خيار "تقليدي" آخر أو استخدام أحد الخيارات التالية في ثنائية المليئة.
يتم إنشاء مجلد النقل تلقائيًا لتسهيل تبادل البيانات بين نظام المضيف والمثال ؛ يتم تثبيت هذا المجلد في ~/Documents في المثيل ومتوفر في ~/Documents/pojde/your-instance-name على نظام المضيف.
يتم تثبيت WebWormhole (المتاح كـ ww ) مسبقًا في كل حالة ؛ يتيح لك تبادل الملفات على مستوى العالم باستخدام WebRTC. اكتشف المزيد في WebWormhole Github Repo.
Pojde (C) 2021 Felicitas Pojtinger والمساهمين
spdx-recense-eduction: agpl-3.0