docs(portainer) portainer.md neu

This commit is contained in:
2026-02-25 20:43:37 +01:00
parent 13da68bf64
commit 1a2e2cf580

View File

@@ -9,9 +9,9 @@ Die Verbindung erfolgt ausschließlich über einen SSH-Tunnel.
---
# Architektur
## Architektur
## Übersicht
### Übersicht
- Heimserver: Portainer EE
- 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.
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
4. Portainer EE verbindet sich intern über: 172.17.0.1:9002 (docker bridge)
5. Der gesamte Traffic läuft verschlüsselt über SSH.
```
# 1. Portainer-Agent auf Hetzner
## docker-compose.yml
## 1. Portainer-Agent auf Hetzner
### docker-compose.yml
``` yaml
version: "3.8"
@@ -101,12 +100,12 @@ Starten: docker compose up -d
Prüfen: ss -tlnp | grep 9001
Erwartet: 0.0.0.0:9001
# 2. SSH-Tunnel automatisieren (Heimserver)
## autossh installieren
## 2. SSH-Tunnel automatisieren (Heimserver)
### autossh installieren
apt update
apt install autossh -y
## systemd Service anlegen
### systemd Service anlegen
Datei:
/etc/systemd/system/portainer-hetzner-tunnel.service
@@ -136,8 +135,9 @@ RestartSec=5
[Install]
WantedBy=multi-user.target
```
## Service aktivieren
### Service aktivieren
```snippet
systemctl daemon-reload
systemctl enable portainer-hetzner-tunnel
@@ -164,14 +164,14 @@ Hinweis: 172.17.0.1 ist die Docker-Bridge-IP des Hosts
Portainer läuft im Container
Der Tunnel läuft auf dem Host
# Sicherheitsmodell
## Sicherheitsmodell
- Port 9001 nicht öffentlich erreichbar
- Kommunikation ausschließlich über SSH
- SSH-Key-basierte Authentifizierung
- Automatischer Reconnect via autossh
- Kein zusätzlicher VPN erforderlich
# Troubleshooting
## Troubleshooting
|Problem |Ursache | Prüfen
|connection refused |Agent nicht auf 9001 gemappt | - ports9001:9001 in der docker-compose
|SSH channel open failed |Agent lauscht nicht |keys vorhanden?