Eigentlich nutze ich ja C9, aber Theia ist passender für java, während C9 gut für PHP war. Also mal testen
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
. .bashrc
nvm install 10
npm install -g yarn
yarn
sudo curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker root
sudo apt-get update && sudo apt-get upgrade
mkdir /home/project
sudo docker run -it -p 3000:3000 theiaide/theia-full
http://deineip:3000
---
sudo docker run -it -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia-full
(ggf mit --host deinedomain.com)
Komischerweise muss ich theia-full ziehen, da alle anderen kein Hauptmenü (Datei usw) haben. Egal.

und das Verzeichnis “als Workspace” das wir benötigen erreicht man dann oben rechts.

Im Terminal kann man vorher ein Verzeichnis anlegen und dann dieses als Workspace verwenden. Ggf Rechte anpassen:

so, noch ein bissl einrichten aber insgesamt macht das einen guten Eindruck

Nginx Konfiguration
Websockets müssen ebenfalls durch den Proxy laufen. Dazu noch eine .htaccess damit nicht jeder zugreifen kann
upstream theia {
server 41.231.14.132:3000 weight=5;
}
server {
#listen 80;
server_name dev.mydomain.com;
proxy_set_header Host dev.mydomain.com;
root /var/www/html/devmydomain/;
access_log /var/log/nginx/devmydomain.log main;
location / { # OOPS!
auth_basic "Username and Password Required";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_redirect off;
proxy_max_temp_file_size 0;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; #for websocket /services
proxy_set_header Connection "Upgrade"; #for websocket /services
proxy_set_header Host $http_host; #for websocket /services
proxy_pass http://theia/;
break;
}
}