POJDEは、すべてのコンポーネントにWebアクセスを備えた分散マルチテナント開発環境です。
それは努力します...
POJDEを使用すると、ブラウザを備えた任意のデバイスから開発できます!
POJDEの管理ツールであるpojdectlをインストールするには、以下を実行します。
$ curl https://raw.githubusercontent.com/pojntfx/pojde/main/bin/pojdectl | bash -s -- upgrade-pojdectlLinux、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のセットアップを最新の状態に保つには、更新とFAQセクションもチェックしてください。
POJDEは、最小限のベース画像に基づいています。 pojdectl applyを実行するときに次のモジュールのいずれかを有効にすることで、追加の機能を追加できます。
| アイコン | 名前 | 説明 |
|---|---|---|
| C/C ++ | GCC、GDB、CMAKE、C/C ++ VSCODE拡張機能とC ++ JUPYTERカーネル | |
| 行く | Go、tinygo、go/tinygo vscode拡張機能とGo Jupyterカーネル | |
| Python | python、pip、python vscode extensionsとpython jupyterカーネル | |
| さび | さび、貨物、錆びたvscode拡張機能、錆びたカーネル | |
| JavaScript | ノード、JavaScript/TypeScript VSCODE拡張機能、JavaScript Jupyter Kernel | |
| ルビー | Ruby、Ruby VScode ExtensionsとRuby Jupyterカーネル | |
| C# | Mono、.net、PowerShell、C#VSCODE拡張機能とC#/F#/POWERSHELL JUPYTERカーネル | |
| Java | Java、Maven、Gradle、Java Vscode拡張機能とJava Jupyterカーネル | |
| r | r、r vscode拡張機能とr jupyterカーネル | |
| SQL | sqlite、mariadb、postgresql、sql vscode extensionsおよびsql jupyterカーネル | |
| バッシュ | BASH、BASH VSCODE拡張機能とBash Jupyterカーネル |
kubectl 、 helm 、 k9s 、 skaffold 、 k3dおよびその他のDevOpsツールpandoc 、 plantuml 、 gnuplot 、Media、Office、PDF、Markdown/LaTexサポート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サービスを実行する必要があります(サービスへのアクセスを参照)。ソースコードで何かを変更するたびに、 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を実行すると、この構成を使用してまだ適切にサポートされていないため、SystemDベースのホストでDockerとCgroups V2を使用することは機能しません。 Cgroups V2を使用している場合は、Fedoraに参加している場合は、Podmanを使用してください。または、CGROUPS V1に切り替えてDockerを使用することもできます。
$ sudo grubby --update-kernel=ALL --args= " systemd.unified_cgroup_hierarchy=0 "
$ sudo rebootpojde-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デーモンアクセスを完全にブロックすることもできます。詳細については、参照を参照してください。
ファイルを転送するには多くのオプションがあります。たとえば、別の「伝統的な」オプションであるscpを使用するか、次の1つを使用することもできます。
転送フォルダーは、ホストシステムとインスタンスとの間でさらに簡単なデータ交換のために自動的に作成されます。このフォルダーは、インスタンスの~/Documentsに取り付けられており、 ~/Documents/pojde/your-instance-nameで利用可能です。
WebWormHole( wwとして利用可能)は、すべてのインスタンスで事前にインストールされています。 WeBRTCを使用して、グローバルにファイルを交換することができます。 WebWormhole GitHub Repoで詳細をご覧ください。
Pojde(c)2021 Felicitas Pojtingerおよび貢献者
spdx-license-identifier:agpl-3.0