docs(portainer) portainer.md neu
This commit is contained in:
@@ -9,9 +9,9 @@ Die Verbindung erfolgt ausschließlich über einen SSH-Tunnel.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Architektur
|
## Architektur
|
||||||
|
|
||||||
## Übersicht
|
### Übersicht
|
||||||
|
|
||||||
- Heimserver: Portainer EE
|
- Heimserver: Portainer EE
|
||||||
- Hetzner-Server: Portainer Agent
|
- Hetzner-Server: Portainer Agent
|
||||||
@@ -20,7 +20,7 @@ Die Verbindung erfolgt ausschließlich über einen SSH-Tunnel.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Netzwerkarchitektur mit Namespace- und Layer-Trennung
|
### Netzwerkarchitektur mit Namespace- und Layer-Trennung
|
||||||
|
|
||||||
```
|
```
|
||||||
┌────────────────────────────┐
|
┌────────────────────────────┐
|
||||||
@@ -69,7 +69,7 @@ ssh -L 0.0.0.0:9002:localhost:9001 root@hetzner-ip
|
|||||||
│ │
|
│ │
|
||||||
└──────────────────────────────────────────────────────┘
|
└──────────────────────────────────────────────────────┘
|
||||||
```
|
```
|
||||||
# Funktionsweise
|
## Funktionsweise
|
||||||
|
|
||||||
1. Der Portainer-Agent läuft auf Hetzner und lauscht auf Port 9001.
|
1. Der Portainer-Agent läuft auf Hetzner und lauscht auf Port 9001.
|
||||||
2. Dieser Port ist **nicht öffentlich relevant**, da keine direkte Nutzung erfolgt.
|
2. Dieser Port ist **nicht öffentlich relevant**, da keine direkte Nutzung erfolgt.
|
||||||
@@ -77,10 +77,9 @@ ssh -L 0.0.0.0:9002:localhost:9001 root@hetzner-ip
|
|||||||
- Lokaler Port 9002 → Hetzner localhost:9001
|
- Lokaler Port 9002 → Hetzner localhost:9001
|
||||||
4. Portainer EE verbindet sich intern über: 172.17.0.1:9002 (docker bridge)
|
4. Portainer EE verbindet sich intern über: 172.17.0.1:9002 (docker bridge)
|
||||||
5. Der gesamte Traffic läuft verschlüsselt über SSH.
|
5. Der gesamte Traffic läuft verschlüsselt über SSH.
|
||||||
```
|
|
||||||
|
|
||||||
# 1. Portainer-Agent auf Hetzner
|
## 1. Portainer-Agent auf Hetzner
|
||||||
## docker-compose.yml
|
### docker-compose.yml
|
||||||
|
|
||||||
``` yaml
|
``` yaml
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
@@ -101,12 +100,12 @@ Starten: docker compose up -d
|
|||||||
Prüfen: ss -tlnp | grep 9001
|
Prüfen: ss -tlnp | grep 9001
|
||||||
Erwartet: 0.0.0.0:9001
|
Erwartet: 0.0.0.0:9001
|
||||||
|
|
||||||
# 2. SSH-Tunnel automatisieren (Heimserver)
|
## 2. SSH-Tunnel automatisieren (Heimserver)
|
||||||
## autossh installieren
|
### autossh installieren
|
||||||
apt update
|
apt update
|
||||||
apt install autossh -y
|
apt install autossh -y
|
||||||
|
|
||||||
## systemd Service anlegen
|
### systemd Service anlegen
|
||||||
|
|
||||||
Datei:
|
Datei:
|
||||||
/etc/systemd/system/portainer-hetzner-tunnel.service
|
/etc/systemd/system/portainer-hetzner-tunnel.service
|
||||||
@@ -136,9 +135,10 @@ RestartSec=5
|
|||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
## Service aktivieren
|
### Service aktivieren
|
||||||
``` snippet
|
```snippet
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable portainer-hetzner-tunnel
|
systemctl enable portainer-hetzner-tunnel
|
||||||
systemctl start portainer-hetzner-tunnel
|
systemctl start portainer-hetzner-tunnel
|
||||||
@@ -164,14 +164,14 @@ Hinweis: 172.17.0.1 ist die Docker-Bridge-IP des Hosts
|
|||||||
Portainer läuft im Container
|
Portainer läuft im Container
|
||||||
Der Tunnel läuft auf dem Host
|
Der Tunnel läuft auf dem Host
|
||||||
|
|
||||||
# Sicherheitsmodell
|
## Sicherheitsmodell
|
||||||
- Port 9001 nicht öffentlich erreichbar
|
- Port 9001 nicht öffentlich erreichbar
|
||||||
- Kommunikation ausschließlich über SSH
|
- Kommunikation ausschließlich über SSH
|
||||||
- SSH-Key-basierte Authentifizierung
|
- SSH-Key-basierte Authentifizierung
|
||||||
- Automatischer Reconnect via autossh
|
- Automatischer Reconnect via autossh
|
||||||
- Kein zusätzlicher VPN erforderlich
|
- Kein zusätzlicher VPN erforderlich
|
||||||
|
|
||||||
# Troubleshooting
|
## Troubleshooting
|
||||||
|Problem |Ursache | Prüfen
|
|Problem |Ursache | Prüfen
|
||||||
|connection refused |Agent nicht auf 9001 gemappt | - ports9001:9001 in der docker-compose
|
|connection refused |Agent nicht auf 9001 gemappt | - ports9001:9001 in der docker-compose
|
||||||
|SSH channel open failed |Agent lauscht nicht |keys vorhanden?
|
|SSH channel open failed |Agent lauscht nicht |keys vorhanden?
|
||||||
|
|||||||
Reference in New Issue
Block a user