Ubuntu18.04でEclipseTheiaCloudIDEプラットフォームをセットアップする方法[クイックスタート]
序章
Eclipse Theia は、リモートサーバー上で実行され、Webブラウザーからアクセスできる拡張可能なクラウドIDEです。 視覚的には、 Microsoft Visual StudioCodeと同様の外観と動作をするように設計されています。 Eclipse Theiaを他のクラウドIDEソフトウェアと区別するのは、その拡張性です。 カスタム拡張機能を使用して変更できます。これにより、ニーズに合ったクラウドIDEを作成できます。
このチュートリアルでは、DockerComposeを使用してEclipseTheiaをUbuntu18.04サーバーにデプロイします。 nginx-proxy を使用してドメインで公開し、 Let’sEncryptTLS証明書で保護します。これはアドオンでプロビジョニングします。 。 このチュートリアルのより詳細なバージョンについては、 Ubuntu18.04でEclipseTheiaCloudIDEプラットフォームをセットアップする方法を参照してください。
前提条件
- Ubuntu 18.04の初期サーバーセットアップガイドに準拠した、root権限を持つUbuntu18.04サーバーとroot以外のセカンダリアカウント。
- サーバーにDockerがインストールされている場合は、 Ubuntu18.04にDockerをインストールする方法のステップ1およびステップ2に従います。
- サーバーにDockerComposeがインストールされている場合は、 Ubuntu18.04にDockerComposeをインストールする方法のステップ1に従ってください。
- 完全に登録されたドメイン名。 このチュートリアルでは、
theia.your-domain
全体を通して。 - のDNSレコード
theia.your-domain
サーバーのパブリックIPアドレスを指します。 それらを追加する方法の詳細については、このDigitalOceanDNSの紹介に従ってください。
ステップ1—Let’sEncryptを使用してnginx-proxyをデプロイする
EclipseTheiaのすべてのデータを保存するディレクトリを作成します。
- mkdir ~/eclipse-theia
そこに移動します:
- cd ~/eclipse-theia
作成 nginx-proxy-compose.yaml
DockerCompose構成を保存する nginx-proxy
:
- nano nginx-proxy-compose.yaml
次の行を追加します。
version: '2'
services:
nginx-proxy:
restart: always
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- "/etc/nginx/htpasswd:/etc/nginx/htpasswd"
- "/etc/nginx/vhost.d"
- "/usr/share/nginx/html"
- "/var/run/docker.sock:/tmp/docker.sock:ro"
- "/etc/nginx/certs"
letsencrypt-nginx-proxy-companion:
restart: always
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
volumes_from:
- "nginx-proxy"
ここでは、DockerComposeが実行する2つのサービスを定義しています。 nginx-proxy
そしてそのLet’sEncryptコンパニオン。 プロキシには、次のように指定します jwilder/nginx-proxy
イメージとして、HTTPポートとHTTPSポートをマップし、実行時にアクセスできるボリュームを定義します。
ファイルを保存して閉じます。
構成をデプロイします。
- docker-compose -f nginx-proxy-compose.yaml up -d
最終的な出力は次のようになります。
OutputCreating network "eclipse-theia_default" with the default driver
Pulling nginx-proxy (jwilder/nginx-proxy:)...
latest: Pulling from jwilder/nginx-proxy
8d691f585fa8: Pull complete
5b07f4e08ad0: Pull complete
...
Digest: sha256:dfc0666b9747a6fc851f5fb9b03e65e957b34c95d9635b4b5d1d6b01104bde28
Status: Downloaded newer image for jwilder/nginx-proxy:latest
Pulling letsencrypt-nginx-proxy-companion (jrcs/letsencrypt-nginx-proxy-companion:)...
latest: Pulling from jrcs/letsencrypt-nginx-proxy-companion
89d9c30c1d48: Pull complete
668840c175f8: Pull complete
...
Digest: sha256:a8d369d84079a923fdec8ce2f85827917a15022b0dae9be73e6a0db03be95b5a
Status: Downloaded newer image for jrcs/letsencrypt-nginx-proxy-companion:latest
Creating eclipse-theia_nginx-proxy_1 ... done
Creating eclipse-theia_letsencrypt-nginx-proxy-companion_1 ... done
ステップ2— DockerizedEclipseTheiaをデプロイする
nginx-proxy
ログインの組み合わせは、公開されたドメインにちなんで名付けられたファイルにあると想定しています。 htpasswd
フォーマットして下に保存 /etc/nginx/htpasswd
コンテナ内のディレクトリ。
インストール htpasswd
:
- sudo apt install apache2-utils
The apache2-utils
パッケージには、 htpasswd
効用。
を作成します /etc/nginx/htpasswd
ディレクトリ:
- sudo mkdir -p /etc/nginx/htpasswd
ドメインのログインを保存するファイルを作成します。
- sudo touch /etc/nginx/htpasswd/theia.your-domain
ユーザー名とパスワードの組み合わせを使用して、次のコマンドを実行します。
- sudo htpasswd /etc/nginx/htpasswd/theia.your-domain username
htpasswd
ユーザー名とハッシュ化されたパスワードのペアをファイルの最後に追加します。
EclipseTheiaのデプロイメントの構成を作成します。
- nano eclipse-theia-compose.yaml
次の行を追加します。
version: '2.2'
services:
eclipse-theia:
restart: always
image: theiaide/theia:next
init: true
environment:
- VIRTUAL_HOST=theia.your-domain
- LETSENCRYPT_HOST=theia.your-domain
と呼ばれる単一のサービスを定義します eclipse-theia
と restart
に設定 always
と theiaide/theia:next
コンテナイメージとして。 あなたも設定します init
に true
. 次に、で2つの環境変数を指定します environment
セクション: VIRTUAL_HOST
と LETSENCRYPT_HOST
.
ファイルを保存して閉じます。
次に、以下を実行してEclipseTheiaをデプロイします。
- docker-compose -f eclipse-theia-compose.yaml up -d
最終的な出力は次のようになります。
Output...
Pulling eclipse-theia (theiaide/theia:next)...
next: Pulling from theiaide/theia
63bc94deeb28: Pull complete
100db3e2539d: Pull complete
...
Digest: sha256:c36dff04e250f1ac52d13f6d6e15ab3e9b8cad9ad68aba0208312e0788ecb109
Status: Downloaded newer image for theiaide/theia:next
Creating eclipse-theia_eclipse-theia_1 ... done
EclipseTheiaに使用しているドメインに移動します。 ブラウザに、ログインを求めるプロンプトが表示されます。 Eclipse Theiaに入り、そのエディターGUIが表示されます。 接続が安全であることを示す南京錠も表示されます。
結論
これで、DockerComposeとを使用してUbuntu18.04サーバーに多用途のクラウドIDEであるEclipseTheiaがインストールされました。 nginx-proxy
. 無料のLet’sEncryptTLS証明書で保護し、ユーザーからのログイン資格情報を要求するようにインスタンスを設定しました。 ソースコードとドキュメントを個別に処理することも、チームと協力することもできます。 追加の機能が必要な場合は、独自のバージョンのEclipseTheiaを作成してみることもできます。 これを行う方法の詳細については、 Theiadocsにアクセスしてください。