POJDE é um ambiente de desenvolvimento de vários inquilinos distribuído, com acesso à Web a todos os componentes.
Se esforça para ser ...
Com Pojde, você pode desenvolver a partir de qualquer dispositivo com um navegador!
Para instalar pojdectl , a ferramenta de gerenciamento para Pojde, execute o seguinte:
$ curl https://raw.githubusercontent.com/pojntfx/pojde/main/bin/pojdectl | bash -s -- upgrade-pojdectlFunciona no Linux, MacOS e Windows (WSL2). Agora, continue o uso para criar sua primeira instância.
Eu criei um breve vídeo do YouTube que o guia através do processo:
Se você preferir as instruções em forma escrita, continue lendo.
O POJDE suporta executando muitas instâncias isoladas em um host, onde o host pode ser sua máquina local, um servidor em nuvem ou até mesmo um Raspberry Pi. Antes de continuar na próxima etapa, instale o Docker ou o Podman no host que você deseja executar a instância. Observe:
Para criar sua primeira instância, 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 Agora siga as instruções. pojdectl apply solicitará que você faça o download do certificado da CA para o seu sistema, o que você deve fazer ao criar a primeira instância; Instâncias futuras compartilharão este certificado. Você também pode obter o certificado em qualquer ponto posterior usando pojdectl get-ca-cert .
Para confiar no certificado da CA, siga os vídeos que criamos para você:
Observe que você precisará selecionar o certificado da CA que você baixou na etapa antes , não faça o download do certificado, conforme descrito nos vídeos.
Depois de fazer isso, confirme que tudo correu bem, listando suas instâncias com 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 você pode ver, nossa primeira instância ( my-first-instance ) está em execução e exposta portas 5000 a 5005 . Esse intervalo de portas foi selecionado quando executamos pojdectl apply ACIMA.
Agora você pode acessar os serviços que você ativou (substitua localhost pelo IP ou domínio do host remoto se você implantou em um host remoto):
| Ícone | Serviço | Endereço | Descrição |
|---|---|---|---|
| Jupyterlab | https: // localhost: 5004/ | Ambiente de desenvolvimento interativo |
Se você não puder acessar os serviços de fora localhost , abra as portas no seu firewall.
Além disso, existe um servidor SSH em execução na porta 5005 que você pode usar para encaminhar portas da instância com 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 Isso, por exemplo, encaminha a porta remota 1234 na instância para a porta 4200 local e a porta remota 1235 para a porta 4201 local.
Você também pode encaminhar portas para a instância:
$ 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É isso! Esperamos que você goste de usar Pojde. Verifique também as atualizações e as seções de perguntas frequentes para manter sua configuração POJDE atualizada.
POJDE é baseado em uma imagem base mínima; Funcionalidade adicional pode ser adicionada ativando qualquer um dos seguintes módulos ao executar pojdectl apply :
| Ícone | Nome | Descrição |
|---|---|---|
| C/C ++ | GCC, GDB, CMake, The C/C ++ Vscode Extensions e C ++ Jupyter Kernel | |
| Ir | Vá, Tinygo, The Go/Tinygo Vscode Extensions e Go Jupyter Kernel | |
| Python | Python, Pip, The Python Vscode Extensions e Python Jupyter Kernel | |
| Ferrugem | Ferrugem, carga, as extensões de ferrugem vscode e kernel de ferrugem Jupyter | |
| JavaScript | Nó, JavaScript/TypeScript VSCODE Extensions e JavaScript Jupyter Kernel | |
| Rubi | Ruby, The Ruby Vscode Extensions e Ruby Jupyter Kernel | |
| C# | Mono, .Net, PowerShell, The C#VSCODE Extensions e C#/F#/PowerShell Jupyter Kernels | |
| Java | Java, Maven, Gradle, The Java Vscode Extensions e Java Jupyter Kernel | |
| R | R, as extensões R VScode e R Jupyter Kernel | |
| SQL | SQLITE, MARIADB, POSTGRESQL, As extensões SQL VSCODE e SQL JUPYTER KERNEL | |
| Bash | Bash, The Bash Vscode Extensions e Bash Jupyter Kernel |
kubectl , helm , k9s , skaffold , k3d e mais ferramentas de DevOpspandoc , plantuml , gnuplot , Mídia, Escritório, PDF e Suporte 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 o fluxo do GitHub e siga nosso código de conduta.
Para construir e iniciar uma versão de desenvolvimento do POJDE localmente, execute o seguinte:
$ git clone https://github.com/pojntfx/pojde.git
$ cd pojde
$ make build
$ ./bin/pojdectl apply my-first-instance 5000 -f -r Agora você deve ter os serviços POJDE em execução em http: // localhost: 5000/por http: // localhost: 5004/(consulte o acesso aos serviços). Sempre que você altera algo no código -fonte, execute make build e ./bin/pojdectl apply my-first-instance 5000 -f -r novamente, que recompilará e reinicia os serviços.
Tem alguma dúvida ou precisa de ajuda? Converse conosco na Matrix!
pojdectl pojdectl inclui uma ferramenta de auto-atualização, que você pode invocar executando o seguinte:
$ pojdectl upgrade-pojdectl Atualizando uma instância (para obter a versão mais recente do POJDE) e alterar a configuração de uma instância é feita usando o comando pojdectl apply .
Por exemplo, atualize a instância criada no uso ou para alterar sua configuração, módulos instalados etc., execute o seguinte e siga as instruções:
$ pojdectl apply my-first-instance 5000 -f -r -u # Append `-n root@your-ip:ssh-port` to upgrade the instance on a remote host insteadExistem várias estratégias de atualização e configuração disponíveis; Consulte Referência para mais opções.
Sabe -se que as seguintes combinações funcionam:
O uso do Docker e Cgroups V2 juntos em um host baseado em SystemD não funciona, pois a execução do SystemD dentro do contêiner ainda não é suportada corretamente usando essa configuração. Se você estiver usando o CGROUPS V2, ou seja, se você estiver no Fedora, use o Podman. Como alternativa, você também pode mudar para o CGROUPS V1 e usar o Docker:
$ sudo grubby --update-kernel=ALL --args= " systemd.unified_cgroup_hierarchy=0 "
$ sudo reboot Graças ao script pojde-docker-env , os volumes de montagem do Docker de dentro de uma instância são suportados:
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! Você também pode bloquear o acesso do Docker Daemon completamente especificando o sinalizador -i ; Veja referência para obter mais informações.
Existem muitas opções disponíveis para transferir arquivos; Você pode, por exemplo, usar scp , outra opção "tradicional" ou usar um dos seguintes seguintes.
Uma pasta de transferência é criada automaticamente para uma troca ainda mais fácil de dados entre o sistema host e a instância; Esta pasta é montada em ~/Documents na instância e disponível em ~/Documents/pojde/your-instance-name no sistema host.
WebWormhole (disponível como ww ) é pré-instalado em todas as casas; Ele permite trocar arquivos globalmente usando o WebRTC. Saiba mais no WebWormhole Github Repo.
POJDE (C) 2021 FELICITAS POJTINGER E CONSUMENTOS
SPDX-LICense-Identificador: AGPL-3.0