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 , обязательно откройте порты на брандмауэре.
Кроме того, на порте 5005 работает сервер SSH, который вы можете использовать для перемещения портов из экземпляра с помощью 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, расширения VSCODE C/C ++ и ядро C ++ Jupyter | |
| Идти | Go, Tinygo, расширения Vscode Go/Tinygo и Go Jupyter kernel | |
| Питон | Python, Pip, расширения Vython Vscode и ядро питона Юпитера | |
| Ржавчина | Ржавчина, груз, растяжение ржавчины и ядро ржавчины Юпитера | |
| JavaScript | Узел, JavaScript/TypeScript расширения VSCode и ядро javaScript jupyter | |
| Рубин | Руби, Рубиновая расширения Vscode и ядро Ruby Jupyter | |
| C# | Mono, .net, PowerShell, расширения C#VSCODE и C#/F#/PowerShell Jupyter Kernels | |
| Ява | Java, Maven, Gradle, расширения Java Vscode и ядра Java Jupyter | |
| Ведущий | R, расширения r vscode и ядра r jupyter | |
| SQL | SQLite, Mariadb, PostgreSQL, расширения VSCODE SQL и ядра SQL Jupyter | |
| Избиение | Bash, Bash Vscode Extensions и ядро Jupyter Bash Jupyter |
kubectl , helm , k9s , skaffold , k3d и More DevOps Toolspandoc , plantuml , gnuplot , Media, Office, PDF и Markdown/Latex поддержка для 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.Чтобы внести свой вклад, используйте поток GitHub и следуйте нашему кодексу поведения.
Чтобы создать и запустить версию разработки 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 не работает, так как запуск SystemD внутри контейнера еще не поддерживается должным образом, используя эту конфигурацию. Если вы используете CGROUPS V2, то есть, если вы находитесь в Fedora, используйте Podman. В качестве альтернативы, вы также можете переключиться на CGROUPS V1 и использовать Docker:
$ sudo grubby --update-kernel=ALL --args= " systemd.unified_cgroup_hierarchy=0 "
$ sudo reboot Благодаря сценарию pojde-docker-env , поддерживается монтажные объемы Docker изнутри экземпляра:
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-LICENSE-идентификатор: AGPL-3.0