POJDE는 모든 구성 요소에 대한 웹 액세스 기능을 갖춘 분산 된 멀티 테넌트 개발 환경입니다.
그것은 ...
pojde를 사용하면 브라우저가있는 모든 장치에서 개발할 수 있습니다!
pojde의 관리 도구 인 pojdectl 설치하려면 다음을 실행하십시오.
$ curl https://raw.githubusercontent.com/pojntfx/pojde/main/bin/pojdectl | bash -s -- upgrade-pojdectlLinux, MacOS 및 Windows (WSL2)에서 작동합니다. 이제 첫 번째 인스턴스를 만들려면 계속 사용하십시오.
프로세스를 안내하는 간단한 YouTube 비디오를 만들었습니다.
지침을 서면 형식으로 선호하는 경우 계속 읽으십시오.
POJDE는 호스트가 로컬 컴퓨터, 클라우드 서버 또는 라즈베리 파이가 될 수있는 호스트에서 많은 분리 된 인스턴스를 실행하는 것을 지원합니다. 다음 단계를 계속하기 전에 인스턴스를 실행하려는 호스트에 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 설정을 최신 상태로 유지하려면 업데이트 및 FAQ 섹션을 확인하십시오.
Pojde는 최소 기본 이미지를 기반으로합니다. pojdectl apply 실행할 때 다음 모듈 중 하나를 활성화하여 추가 기능을 추가 할 수 있습니다.
| 상 | 이름 | 설명 |
|---|---|---|
| C/C ++ | GCC, GDB, CMAKE, C/C ++ VSCODE 확장 및 C ++ JUPYTER 커널 | |
| 가다 | Go, Tinygo, Go/Tinygo VScode 확장 및 Go Jupyter 커널 | |
| 파이썬 | Python, Pip, Python vscode 확장 및 Python Jupyter 커널 | |
| 녹 | 녹,화물, 녹슬 vscode 확장 및 녹 줄기 커널 | |
| 자바 스크립트 | 노드, JavaScript/TypeScript vScode 확장 및 JavaScript Jupyter 커널 | |
| 루비 | Ruby, Ruby Vscode 확장 및 Ruby Jupyter 커널 | |
| 기음# | 모노, .net, PowerShell, C#vscode 확장 및 C#/f#/PowerShell Jupyter 커널 | |
| 자바 | Java, Maven, Gradle, Java Vscode Extensions 및 Java Jupyter 커널 | |
| 아르 자형 | R, R vscode 확장 및 R Jupyter 커널 | |
| SQL | sqlite, mariadb, postgresql, sql vscode 확장 및 SQL Jupyter 커널 | |
| 세게 때리다 | BASH, BASH VSCODE EXTENSIONS 및 BASH JUPYTER 커널 |
kubectl , helm , k9s , skaffold , k3d 및 More DevOps 도구pandoc , plantuml , gnuplot , Media, Office, PDF 및 Markdown/vscode 지원tmux , 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 이제 http : // localhost : 5000/http : // localhost : 5004/(서비스 액세스 참조)에서 pojde 서비스를 실행해야합니다. 소스 코드에서 무언가를 변경할 때마다 Run 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사용 가능한 여러 업데이트 및 구성 전략이 있습니다. 더 많은 옵션은 참조를 참조하십시오.
다음 조합은 작동하는 것으로 알려져 있습니다.
SystemD 기반 호스트에서 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 스크립트 덕분에 인스턴스 내에서 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! -i 플래그를 지정하여 Docker Daome Access를 완전히 차단할 수도 있습니다. 자세한 내용은 참조를 참조하십시오.
파일을 전송하는 데 사용할 수있는 많은 옵션이 있습니다. 예를 들어 다른 "전통적인"옵션 인 scp 사용하거나 다음에 내장 된 옵션 중 하나를 사용할 수 있습니다.
호스트 시스템과 인스턴스 간의 데이터 교환이 훨씬 쉽게 교환되도록 전송 폴더가 자동으로 생성됩니다. 이 폴더는 인스턴스의 ~/Documents 에 장착되어 호스트 시스템에서 ~/Documents/pojde/your-instance-name 에서 사용할 수 있습니다.
WebworMhole ( ww 로 사용 가능)은 모든 인스턴스에 사전 설치되어 있습니다. WebRTC를 사용하여 전역으로 파일을 교환 할 수 있습니다. Webwormhole Github Repo에서 더 자세히 알아보십시오.
Pojde (C) 2021 Felicitas Pojtinger 및 기고자
SPDX- 라이센스 식별기 : AGPL-3.0