開発者ドキュメント

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プラットフォームをセットアップする方法を参照してください。

前提条件

ステップ1—Let’sEncryptを使用してnginx-proxyをデプロイする

EclipseTheiaのすべてのデータを保存するディレクトリを作成します。

  1. mkdir ~/eclipse-theia

そこに移動します:

  1. cd ~/eclipse-theia

nginx-proxy-compose.yamlを作成して、nginx-proxyのDockerCompose構成を保存します。

  1. nano nginx-proxy-compose.yaml

次の行を追加します。

〜/ eclipse-theia / 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ポートをマップし、実行時にプロキシにアクセスできるボリュームを定義します。

ファイルを保存して閉じます。

構成をデプロイします。

  1. docker-compose -f nginx-proxy-compose.yaml up -d

最終的な出力は次のようになります。

Output
Creating 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をインストールします。

  1. sudo apt install apache2-utils

apache2-utilsパッケージには、htpasswdユーティリティが含まれています。

/etc/nginx/htpasswdディレクトリを作成します。

  1. sudo mkdir -p /etc/nginx/htpasswd

ドメインのログインを保存するファイルを作成します。

  1. sudo touch /etc/nginx/htpasswd/theia.your-domain

ユーザー名とパスワードの組み合わせを使用して、次のコマンドを実行します。

  1. sudo htpasswd /etc/nginx/htpasswd/theia.your-domain username

htpasswdは、ユーザー名とハッシュ化されたパスワードのペアをファイルの最後に追加します。

EclipseTheiaのデプロイメントの構成を作成します。

  1. nano eclipse-theia-compose.yaml

次の行を追加します。

〜/ eclipse-theia / 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

restartalwaysに設定し、theiaide/theia:nextをコンテナーイメージとして、eclipse-theiaという単一のサービスを定義します。 また、inittrueに設定します。 次に、environmentセクションでVIRTUAL_HOSTLETSENCRYPT_HOSTの2つの環境変数を指定します。

ファイルを保存して閉じます。

次に、以下を実行してEclipseTheiaをデプロイします。

  1. 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とnginx-proxyを使用してUbuntu18.04サーバーに多用途のクラウドIDEであるEclipseTheiaがインストールされました。 無料のLet’sEncryptTLS証明書で保護し、ユーザーからのログイン資格情報を要求するようにインスタンスを設定しました。 ソースコードとドキュメントを個別に処理することも、チームと共同で作業することもできます。 追加の機能が必要な場合は、独自のバージョンのEclipseTheiaを作成してみることもできます。 これを行う方法の詳細については、 Theiadocsにアクセスしてください。

モバイルバージョンを終了