Portainer-Server (pve LXC 400): 2.40.0 → 2.42.0 via Image-Swap mit Volume-Erhalt.
Pre-Upgrade-Snapshot: docker commit :2.40.0-preupgrade-20260828 (Rollback 7 d
verfügbar) + Settings/Stacks/Endpoints-JSON-Dump (40 KB, 31 Stacks, 4 Endpoints).
Instance-ID + API-Token nach Bump identisch — kein Re-Auth, kein Settings-Verlust.
portainer-mcp: offizielles PyPI-Paket mcp-portainer~=2.42.0 (193 Tools), nur
in bf-infra/opencode.jsonc, via uvx-stdio. Tool-Gate: get_guidance() einmal pro
Session zwingend vor erstem Read. Andere Projekte unberührt.
Korrekturen ggü. Handoff 2026-08-28 README:
- mcp-portainer PyPI bis 2.42.6, Docker-Hub portainer/portainer-ce nur bis 2.42.0
(unterschiedliche Versionierungspfade).
- mcp/portainer/README.md ist auf 2.42.6 formuliert und sollte nachgezogen werden.
Bestand: mcp/INVENTORY.md portainer-mcp ⛔→🟢 + Header MCP-WARP-Direktive ergänzt.
.mcp.json (war getrackt aus Commit 3426366) entfernt: opencode nutzt opencode.jsonc,
nicht .mcp.json — Claude-Code-Konvention hier irrelevant.
60 lines
2.2 KiB
Markdown
60 lines
2.2 KiB
Markdown
# Portainer 2.40.0 → 2.42.6 — Rollback-Runbook (2026-08-28)
|
|
|
|
## Voraussetzungen
|
|
- pve `.100`, dort LXC 400 (Docker-LXC auf vlan20)
|
|
- Portainer-Container läuft mit den unten dokumentierten Flags
|
|
- Pre-Upgrade-Image-Tag `portainer/portainer-ce:2.40.0-preupgrade-20260828` ist vorhanden
|
|
|
|
## Was hier dokumentiert ist
|
|
1. **Image-Tag** mit dem Stand VOR dem Bump (für 1-Befehl-Rollback).
|
|
2. **Runflags** des Containers (docker inspect-Auszug).
|
|
3. **Volume-Mount** `/var/lib/docker/volumes/portainer_data/_data → /data`
|
|
(Portainer-Persistenz: alle Stacks, Endpoint-Configs, Users, API-Tokens).
|
|
Volume bleibt **unangetastet** beim Image-Swap — Settings überleben den Bump.
|
|
|
|
## Runflags (aus `docker inspect portainer --format '{{json .HostConfig}}'`)
|
|
| Property | Wert |
|
|
|---|---|
|
|
| Image | `portainer/portainer-ce:2.42.6` (Bump) bzw. `:2.40.0-preupgrade-20260828` (Rollback) |
|
|
| Restart | `always` |
|
|
| Network | `bridge` (default), MACVLAN über das Compose-Netzwerk |
|
|
| Privileged | `false` |
|
|
| Ports | `8000/tcp → 8000`, `9443/tcp → 9443` |
|
|
| Mounts | `/var/run/docker.sock → /var/run/docker.sock` (Pflicht), `/var/lib/docker/volumes/portainer_data/_data → /data` |
|
|
|
|
## Originaler Run-Befehl (rekonstruiert)
|
|
```bash
|
|
docker run -d \
|
|
--name portainer \
|
|
--restart always \
|
|
-p 8000:8000 \
|
|
-p 9443:9443 \
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
-v /var/lib/docker/volumes/portainer_data/_data:/data \
|
|
portainer/portainer-ce:2.40.0
|
|
```
|
|
|
|
## Rollback-Schritte (Bump macht Probleme)
|
|
```bash
|
|
# 1. Auf pve (LXC 400)
|
|
ssh root@10.40.20.100 "pct exec 400 -- bash -c '
|
|
docker stop portainer
|
|
docker rm portainer
|
|
docker run -d \\
|
|
--name portainer \\
|
|
--restart always \\
|
|
-p 8000:8000 -p 9443:9443 \\
|
|
-v /var/run/docker.sock:/var/run/docker.sock \\
|
|
-v /var/lib/docker/volumes/portainer_data/_data:/data \\
|
|
portainer/portainer-ce:2.40.0-preupgrade-20260828
|
|
'"
|
|
# 2. API-Token ist volume-gebunden → bleibt gültig, keine Re-Auth.
|
|
# 3. Verifikation: ein curl gegen die Settings-API reicht.
|
|
```
|
|
|
|
## Cleanup nach erfolgreichem Bump
|
|
Nach ≥7 Tagen Stabilität den `:preupgrade-20260828`-Tag löschen:
|
|
```bash
|
|
ssh root@10.40.20.100 "pct exec 400 -- docker rmi portainer/portainer-ce:2.40.0-preupgrade-20260828"
|
|
```
|