summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Kalbfuss <langweiler@rueblitorte.de>2021-10-21 10:41:25 +0200
committerBernd Kalbfuss <langweiler@rueblitorte.de>2021-10-21 10:41:25 +0200
commit86e87e9e22404cd954b188fdafac799204b47a27 (patch)
treef04995ffa8d03c6a514a2cc366a0aa74bde71daa
parent2499c718083a8359be169b00ae059ddb04f8329f (diff)
Added documentation for Portainer container management on cloud server.
-rw-r--r--Infrastruktur/Cloud-Server.mdwn70
1 files changed, 70 insertions, 0 deletions
diff --git a/Infrastruktur/Cloud-Server.mdwn b/Infrastruktur/Cloud-Server.mdwn
index 589f1fff..8802f9f9 100644
--- a/Infrastruktur/Cloud-Server.mdwn
+++ b/Infrastruktur/Cloud-Server.mdwn
@@ -682,3 +682,73 @@ Die folgenden Anwendungen wurden zusätzlich installiert und aktiviert:
* Circles
* Announcements
* Notes
+
+## Portainer
+
+Um die Verwaltung und Pflege der installierten Docker-Container zu erleichtern, wurde zusätzlich ein Portainer-Server in der Community Edition installiert. Die Portainer-Web-Oberfläche ist unter der Adresse https://portainer.lab.starship-factory.ch/ zu erreichen. Aus Sicherheitsgründen wurde der Zugriff auf das lokale Netzwerk beschränkt.
+
+### Docker
+
+Der Portainer-Server wurde ebenfalls als Docker-Container gemäß der offiziellen Installationsanleitung installiert. Zuerst wurde ein Volumen zur permanenten Datenspeicherung erstellt:
+
+ sudo docker volume create portainer_data
+
+Im Anschluss wurde der Container selbst gestartet:
+ sudo docker run -d -p 9000:9000 --name portainer \
+ --restart=always \
+ -v /var/run/docker.sock:/var/run/docker.sock \
+ -v portainer_data:/data \
+ portainer/portainer-ce:latest
+
+Abweichend von der offiziellen Installationsanleitung wurde lediglich der unverschlüsselte *http*-Port 9000 weitergeleitet. Der Zugriff via *https* wird duch den Reverse Proxy ermöglicht.
+
+### Reverse Proxy
+
+Der Zugriff auf die Portainer-Web-Oberfläche wird wie bei der NextCloud durch den Nginx-Web-Server vermittelt, der als Reverse Proxy konfiguriert wude. Über diesen werden externe http-Anfragen an die Docker-Container weitergeleitet und gegebenenfalls verschlüsselt (*https*). Es werden die selben SSL-Zertifikate wie für den Cloud-Server verwendet. Aus Sicherheitsgründen wurde der Zugriff auf Portainer auf das lokale Netzwerk begrenzt. Die Konfiguration ist in der Datei */etc/nginx/sites-available/portainer* hinterlegt. Die Konfiguration wurde durch Verlinkung in das Verzeichnis */etc/nginx/sites-enabled* aktiviert.
+
+**/etc/nginx/sites-available/portainer**
+
+ server {
+ listen 80;
+ server_name portainer.lab.starship-factory.ch;
+
+ if ($host = portainer.lab.starship-factory.ch) {
+ return 301 https://$host$request_uri;
+ } # managed by Certbot
+
+ return 404; # managed by Certbot
+ }
+
+ server {
+ listen 443 ssl;
+ server_name portainer.lab.starship-factory.ch;
+
+ # Apply letsencrypt nginx ssl configuration
+ include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
+
+ # If you use Lets Encrypt, you should just need to change the domain.
+ # Otherwise, change this to the path to full path to your domains public certificate file.
+ ssl_certificate /etc/letsencrypt/live/cloud.lab.starship-factory.ch/fullchain.pem; # managed by Certbot
+ ssl_certificate_key /etc/letsencrypt/live/cloud.lab.starship-factory.ch/privkey.pem; # managed by Certbot
+ ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
+
+ # Log Location. the Nginx User must have R/W permissions. Usually by ownership.
+ access_log /var/log/nginx/access.log;
+
+ # Forward to NextCloud server
+ location / {
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_pass http://cloud.lab.starship-factory.ch:9000/;
+ proxy_read_timeout 30;
+ }
+
+### Authenifizierung via LDAP
+
+Um die Authentifizierung mitels LDAP zu ermöglichen, wurde ein dedizierter System-Benutzer *portainer-ldap-user* erstellt. Der System-Benutzer wurde in die Gruppe *ldap-auth-users* aufgenommen, um ihm Suchrechte auf das LDAP-Verzeichnis zu gewähren. Die LDAP-Authentifierzung in Portainer wurde entsprechend dem folgenden Bildschirmfoto in Portainer eingerichtet.
+
+
+
+***Hinweis:*** Neue Benutzer erscheinen erst nach dem ersten erfolgreichen Login in der Portainer-Nutzerverwaltung. Sie haben zu Beginn noch keine Rechte. Diese müssen ihnen im Anschluss explizit durch einen Administrator hinzugefügt werden. \ No newline at end of file