POJDE es un entorno de desarrollo múltiple distribuido con acceso web a todos los componentes.
Se esfuerza por ser ...
¡Con Pojde, puedes desarrollar desde cualquier dispositivo con un navegador!
Para instalar pojdectl , la herramienta de administración para Pojde, ejecute lo siguiente:
$ curl https://raw.githubusercontent.com/pojntfx/pojde/main/bin/pojdectl | bash -s -- upgrade-pojdectlFunciona en Linux, MacOS y Windows (WSL2). Ahora, continúe utilizando para crear su primera instancia.
He creado un breve video de YouTube que lo guía a través del proceso:
Si prefiere las instrucciones en forma escrita, continúe leyendo.
POJDE admite ejecutar muchas instancias aisladas en un host, donde el host puede ser su máquina local, un servidor en la nube o incluso un Raspberry Pi. Antes de continuar con el siguiente paso, instale Docker o Podman en el host en el que desea ejecutar la instancia. Tenga en cuenta:
Para crear su primera instancia, use pojdectl apply :
$ pojdectl apply my-first-instance 5000 # Append `-n root@your-ip:ssh-port` to create the instance on a remote host instead Ahora siga las instrucciones. pojdectl apply le pedirá que descargue el certificado de CA a su sistema, lo que debe hacer al crear la primera instancia; Las instancias futuras compartirán este certificado. También puede obtener el certificado en cualquier momento posterior usando pojdectl get-ca-cert .
Para confiar en el certificado de CA, siga los videos que hemos creado para usted:
Tenga en cuenta que tendrá que seleccionar el certificado de CA que ha descargado en el paso anterior , no descargar el certificado como se describe en los videos.
Una vez que lo haya hecho, confirme que todo salió bien al enumerar sus instancias con 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 Como puede ver, nuestra primera instancia ( my-first-instance ) se está ejecutando y ha expuesto los puertos de 5000 a 5005 . Este rango de puertos ha sido seleccionado cuando ejecutamos pojdectl apply About.
Ahora puede acceder a los servicios que ha habilitado (reemplace localhost con la IP o dominio de su host remoto si implementa en un host remoto):
| Icono | Servicio | DIRECCIÓN | Descripción |
|---|---|---|---|
| Jupyterlab | https: // localhost: 5004/ | Entorno de desarrollo interactivo |
Si no puede acceder a los servicios desde el exterior localhost , asegúrese de abrir los puertos en su firewall.
Además, hay un servidor SSH que se ejecuta en el puerto 5005 que puede usar para reenviar puertos de la instancia con 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 Esto, por ejemplo, reenvía el puerto remoto 1234 en la instancia al puerto local 4200 y el puerto remoto 1235 al puerto local 4201 .
También puede reenviar puertos a la instancia:
$ 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¡Eso es todo! Esperamos que disfrutes usando Pojde. Asegúrese de consultar también las actualizaciones y las secciones de preguntas frecuentes para mantener actualizada su configuración de POJDE.
Pojde se basa en una imagen base mínima; Se puede agregar una funcionalidad adicional habilitando cualquiera de los siguientes módulos al ejecutar pojdectl apply :
| Icono | Nombre | Descripción |
|---|---|---|
| C/C ++ | GCC, GDB, CMake, las extensiones Vscode C/C ++ y el núcleo Jupyter C ++ | |
| Ir | GO, Tinygo, las extensiones de Vscode GO/Tinygo y el núcleo de Go Jupyter | |
| Pitón | Python, Pip, The Python VScode Extensions y Python Jupyter Kernel | |
| Óxido | Óxido, carga, las extensiones de vCode de óxido y el núcleo de Rust Jupyter | |
| Javascript | Nodo, las extensiones JavaScript/TypeScript VScode y JavaScript Jupyter Kernel | |
| Rubí | Ruby, las extensiones Ruby VScode y el núcleo Ruby Jupyter | |
| DO# | Mono, .net, PowerShell, las extensiones C#VScode y los núcleos C#/F#/PowerShell Jupyter | |
| Java | Java, Maven, Gradle, Java VScode Extensions y Java Jupyter Kernel | |
| Riñonal | R, las extensiones R VScode y el núcleo R Jupyter | |
| Sql | SQLite, MariadB, PostgreSQL, las extensiones SQL VScode y el núcleo SQL Jupyter | |
| Intento | Bash, las extensiones Bash VScode y el núcleo Bash Jupyter |
kubectl , helm , k9s , skaffold , k3d y más herramientas DevOpspandoc , plantuml , gnuplot , MEDIOS, Oficina, PDF y soporte de Markdown/Latex para VSCODEtmux , jq , htop , etc.nmap , iperf3 , etc.lynx , links , aerc etc.ffmpeg , Handbrake, youtube-dl , etc. $ 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.Para contribuir, use el flujo de GitHub y siga nuestro código de conducta.
Para construir e iniciar una versión de desarrollo de Pojde localmente, ejecute lo siguiente:
$ git clone https://github.com/pojntfx/pojde.git
$ cd pojde
$ make build
$ ./bin/pojdectl apply my-first-instance 5000 -f -r Ahora debería tener los servicios POJDE ejecutados en http: // localhost: 5000/a través de http: // localhost: 5004/(consulte Acceder a los Servicios). Cada vez que cambia algo en el código fuente, ejecute make build y ./bin/pojdectl apply my-first-instance 5000 -f -r nuevamente, que recompilará y reiniciará los Servicios.
¿Tiene alguna pregunta o necesidad de ayuda? ¡Chate con nosotros en Matrix!
pojdectl pojdectl incluye una herramienta de auto-actualización, que puede invocar ejecutando lo siguiente:
$ pojdectl upgrade-pojdectl Actualizar una instancia (para obtener la última versión de POJDE) y cambiar la configuración de una instancia se realizan utilizando el comando pojdectl apply .
Para, por ejemplo, actualizar la instancia creada en uso o cambiar su configuración, módulos instalados, etc., ejecute lo siguiente y siga las instrucciones:
$ pojdectl apply my-first-instance 5000 -f -r -u # Append `-n root@your-ip:ssh-port` to upgrade the instance on a remote host insteadHay múltiples estrategias de actualización y configuración disponibles; Vea la referencia para más opciones.
Se sabe que las siguientes combinaciones funcionan:
El uso de Docker y CGroups V2 juntos en un host basado en Systemd no funciona, ya que ejecutar Systemd dentro del contenedor aún no se admite correctamente utilizando esta configuración. Si está utilizando CGroups V2, es decir, si está en Fedora, use Podman. Alternativamente, también puede cambiar a CGROUPS V1 y usar Docker:
$ sudo grubby --update-kernel=ALL --args= " systemd.unified_cgroup_hierarchy=0 "
$ sudo reboot Gracias al script pojde-docker-env , se admiten los volúmenes de Docker de montaje desde dentro de una instancia:
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! También puede bloquear el acceso de Docker Daemon completamente especificando la bandera -i ; Consulte la referencia para obtener más información.
Hay muchas opciones disponibles para transferir archivos; Por ejemplo, puede usar scp , otra opción "tradicional" o usar una de las siguientes las siguientes incorporadas.
Una carpeta de transferencia se crea automáticamente para un intercambio de datos aún más fácil entre el sistema de host y la instancia; Esta carpeta se monta en ~/Documents en la instancia y está disponible en ~/Documents/pojde/your-instance-name en el sistema de host.
Webwormhole (disponible como ww ) se preinstala en cada caso; Le permite intercambiar archivos a nivel mundial utilizando WEBRTC. Obtenga más información en el repositorio de Webwormhole Github.
Pojde (c) 2021 Felicitas Pojtinger y colaboradores
Identificador SPDX-license: AGPL-3.0