Tutorial

Comment configurer la plate-forme Eclipse Theia Cloud IDE sur Ubuntu 18.04 [Quickstart]

Published on April 23, 2020
Français
Comment configurer la plate-forme Eclipse Theia Cloud IDE sur Ubuntu 18.04 [Quickstart]

Introduction

Eclipse Theia est un IDE cloud extensible fonctionnant sur un serveur distant et accessible depuis un navigateur web. Visuellement, il est conçu pour ressembler et se comporter de manière similaire à Microsoft Visual Studio Code. Ce qui différencie Eclipse Theia des autres logiciels IDE cloud est son extensibilité ; il peut être modifié en utilisant des extensions personnalisées, ce qui vous permet de créer un IDE cloud adapté à vos besoins.

Dans ce tutoriel, vous allez déployer Eclipse Theia sur votre serveur Ubuntu 18.04 en utilisant Docker Compose. Vous allez le déployer sur votre domaine en utilisant nginx-proxy et le sécuriser avec un certificat Let’s Encrypt TLS, que vous allez fournir avec un add-on. Pour accéder à une version plus détaillée de ce tutoriel, veuillez vous référer à Comment configurer la plate-forme IDE Eclipse Theia Cloud sur Ubuntu 18.04.

Conditions préalables

Étape 1 - Déploiement de nginx-proxy avec Let’s Encrypt

Créez le répertoire de stockage de toutes les données d’Eclipse Theia :

  1. mkdir ~/eclipse-theia

Accédez à ce répertoire :

  1. cd ~/eclipse-theia

Créez nginx-proxy-compose.yaml dans le but de stocker la configuration Docker Compose pour nginx-proxy

  1. nano nginx-proxy-compose.yaml

Ajoutez les lignes suivantes :

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

Ici, vous définissez deux services que Docker Compose exploitera : nginx-proxy et son compagnon Let’s Encrypt Pour le proxy, vous spécifiez jwilder/nginx-proxy en tant qu’image, mappez les ports HTTP et HTTPS, et définissez les volumes qui lui seront accessibles pendant l’exécution.

Enregistrez et fermez le fichier.

Déployez la configuration :

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

La sortie finale ressemblera à ceci :

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

Étape 2 - Déployez Dockerized Eclipse Theia

nginx-proxy s’attend à ce que les combinaisons de log-in soient dans un fichier nommé d’après le domaine exposé, au format htpasswd et stocké dans le répertoire /etc/nginx/htpasswd du conteneur.

Installez htpasswd :

  1. sudo apt install apache2-utils

Le package apache2-utils contient l’utilitaire htpasswd.

Créez le répertoire /etc/nginx/htpasswd :

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

Créez un fichier pour stocker les logins de votre domaine :

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

Exécutez la commande suivante avec une combinaison de nom d’utilisateur et de mot de passe :

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

htpasswd ajoutera le couple Nom d’utilisateur/Mot de passe haché à la fin du fichier.

Créez la configuration pour le déploiement d’Eclipse Theia :

  1. nano eclipse-theia-compose.yaml

Ajoutez les lignes suivantes :

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

Vous définissez un service unique appelé eclipse-theia avec restart réglé sur always et theiaide/theia:next en tant qu’image du conteneur. Vous avez également défini init sur true. Ensuite, vous précisez deux variables d’environnement dans la section environment : VIRTUAL_HOST et LETSENCRYPT_HOST.

Enregistrez et fermez le fichier.

Maintenant, déployez Eclipse Theia en exécutant :

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

Le résultat final ressemblera à :

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

Naviguez vers le domaine que vous utilisez pour Eclipse Theia. Votre navigateur affichera une invite vous demandant de vous connecter. Vous allez entrer dans Eclipse Theia et voir l’interface graphique de son éditeur. Vous verrez également un cadenas indiquant que la connexion est sécurisée.

Interface graphique d'Eclipse Theia

Conclusion

Vous disposez désormais d’Eclipse Theia, un IDE cloud polyvalent, installé sur votre serveur Ubuntu 18.04, utilisant Docker Compose et nginx-proxy. Vous l’avez sécurisé avec un certificat gratuit Let’s Encrypt TLS et vous avez configuré l’instance pour exiger des identifiants de connexion de la part de l’utilisateur. Vous pouvez travailler avec lui sur votre code source et vos documents individuellement ou collaborer avec votre équipe. Vous pouvez également essayer de développer votre propre version d’Eclipse Theia si vous avez besoin de fonctionnalités supplémentaires. Pour plus d’informations sur la façon de procéder, consultez les docs Theia.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar
Savic

author



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel