Tutorial

So richten Sie die Eclipse-Theia-Cloud-IDE-Plattform unter Ubuntu 18.04 ein [Schnellstart]

Quickstart

Einführung

Eclipse Theia ist eine erweiterbare Cloud-IDE, die auf einem Remote-Server läuft und von einem Webbrowser aus zugänglich ist. Visual ist sie so konzipiert, dass sie ähnlich wie Microsoft Visual Studio aussieht und sich auch ähnlich verhält. Was Eclipse Theia von anderer Cloud-IDE-Software unterscheidet, ist die Erweiterbarkeit; sie kann mit benutzerdefinierten Erweiterungen modifiziert werden, damit Sie eine Cloud-IDE für Ihre Bedürfnisse erstellen können.

In diesem Tutorial verwenden Sie Eclipse Theia auf Ihrem Ubuntu-18.04-Server mit Docker Compose. Sie machen ihn auf Ihrer Domäne mit nginx-proxy verfügbar und sichern ihn mit einem Let’s Encrypt TLS-Zertifikat, dem Sie ein Add-on hinzufügen. Eine ausführlichere Version dieses Tutorials finden Sie unter So richten Sie die Eclipse-Theia-Cloud-IDE-Plattform unter Ubuntu 18.04 ein.

Voraussetzungen

Schritt 1 – Einsatz von nginx-proxy mit Let’s Encrypt

Erstellen Sie das Verzeichnis, um alle Daten für Eclipse Theia zu speichern:

  • mkdir ~/eclipse-theia

Navigieren Sie dorthin:

  • cd ~/eclipse-theia

Erstellen Sie nginx-proxy-compose.yaml, um die Docker Compose-Konfiguration für nginx-proxy zu speichern:

  • nano nginx-proxy-compose.yaml

Fügen Sie die folgenden Zeilen hinzu:

~/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"

Hier definieren Sie zwei Dienste, die Docker Compose ausführen wird, nginx-proxy und seinen Let’s Encrypt-Begleiter. Für den Proxy geben Sie jwilder/nginx-proxy als Image ein, ordnen Sie HTTP- und HTTPS-Ports zu und definieren Sie Volumes, die während der Laufzeit zugänglich sind.

Speichern und schließen Sie die Datei.

Stellen Sie die Konfiguration bereit:

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

Die endgültige Ausgabe sieht ungefähr so aus:

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

Schritt 2 – Einsatz des dockerisierten Eclipse Theia

nginx-proxy geht davon aus, dass Log-In-Kombinationen in einer Datei vorliegen, die nach der verfügbar gestellten Domäne benannt wurde, im Format htpasswd vorliegen und unter dem Verzeichnis /etc/nginx/htpasswd im Container gespeichert sind.

Installieren Sie htpasswd:

  • sudo apt install apache2-utils

Das apache2-utils-Paket enthält das htpasswd-Dienstprogramm.

Erstellen Sie das Verzeichnis /etc/nginx/htpasswd:

  • sudo mkdir -p /etc/nginx/htpasswd

Erstellen Sie eine Datei, um die Logins für Ihre Domäne zu speichern:

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

Führen Sie den folgenden Befehl mit einem Benutzernamen und einer Passwort-Kombination aus:

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

htpasswd fügt den Benutzernamen und ein Passwort-Paar mit Hash am Ende der Datei hinzu.

Erstellen Sie die Konfiguration für die Bereitstellung von Eclipse Theia:

  • nano eclipse-theia-compose.yaml

Fügen Sie die folgenden Zeilen hinzu:

~/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

Sie definieren einen einzigen Dienst namens eclipse-theia mit einem restart, der auf always eingestellt ist und theiaide/theia:next als Container-Image. Außerdem setzen Sie init auf true. Dann bestimmen Sie zwei Umgebungsvariablen im Abschnitt environment: VIRTUAL_HOST und LETSENCRYPT_HOST.

Speichern und schließen Sie die Datei.

Stellen Sie jetzt Eclipse Theia bereit, indem Sie Folgendes ausführen:

  • docker-compose -f eclipse-theia-compose.yaml up -d

Der endgültige Ausgabe sieht ungefähr so aus:

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

Navigieren Sie zur Domäne, die Sie für Eclipse Theia verwenden. Ihr Browser zeigt Ihnen eine Eingabeaufforderung, mit der Sie zur Anmeldung aufgefordert werden. Sie rufen Eclipse Theia auf und sehen die Editor-GUI. Außerdem sehen Sie ein Schloss, das anzeigt, dass die Verbindung sicher ist.

Eclipse Theia GUI

Zusammenfassung

Sie haben jetzt Eclipse Theia, eine vielseitige Cloud IDE, auf Ihrem Ubuntu-18.04-Server mit Docker Compose und nginx-proxy installiert. Sie haben es mit einem kostenlosen Let’s Encrypt TLS-Zertifikat gesichert und eine Instanz eingerichtet, um Anmeldedaten des Benutzers anzufordern. Sie können damit an Ihrem Quellcode und Dokumenten einzeln arbeiten oder im Team zusammenarbeiten. Sie können auch versuchen, Ihre eigene Version von Eclipse Theia zu erstellen, wenn Sie zusätzliche Funktionen benötigen. Weitere Informationen dazu finden Sie unter Theia Docs.

0 Comments

Creative Commons License