1. Pangolin Pre-Update Requirements#
Update Record — 2026-10-02#
- Target: RackNerd
RN-VPS(72.11.147.220), stack/home/marc/docker-compose/pangolin. - Used the successful pre-update backup on LXC 102:
/home/vps-backup/Backups/2026-10-02_08h27_PangolinBackup.tar.gz; gzip integrity and database/configuration entries were verified. - Updated Pangolin
1.21.1 → 1.22.2 → 1.23.0 → 1.24.0. Each stage passed Compose readiness checks and dashboard HTTP 200; final migrations completed successfully. - Updated Gerbil to
1.5.2, Newt to1.18.0, Traefik tov3.7.13, and pinned CrowdSec tov1.8.1. Rebuilt the custom GoAccess image from its existing inline Dockerfile with a fresh base image; verified GoAccess1.12. - Updated Badger to
v1.7.0and the CrowdSec Traefik plugin tov1.7.1in the activeconfig/traefik/traefik.yaml. Automatic Badger migration skipped the nonstandard filename; the explicit update is present. - Retained
docker-compose.yml.before-2026-10-02-updateandconfig/traefik/traefik.yaml.before-2026-10-02-updateon the VPS. Database rollback requires the pre-update backup, not just older images. - Verification limitation: Homelab site is online, but RN VPS site is offline. The local Newt connector repeatedly receives HTTP 400
No newt found with that newtId. Testing the original Newt1.15.0produced the same rejection; restored1.18.0. Its registration requires investigation without exposing credentials. No site registrations or credentials were changed. Full routed-resource functionality has not been verified. - Follow-up resolved: after the user restarted using their
1palias, Newt1.18.0loggedWebsocket connectedat 12:45:09 UTC. Both RN VPS and Homelab sites were verified online and approved; all six stack containers were running, Pangolin and CrowdSec were healthy, and the dashboard returned HTTP 200. No credential values were inspected during this follow-up. Individual routed resources remain untested.
1.1. Backup Data#
Always backup your data before updating. Copy your config directory to a safe location to allow for a rollback if necessary.
1.2. Version Strategy#
Update incrementally between major versions (e.g., 1.0.0 → 1.1.0 → 1.2.0) rather than skipping major releases.
2. Update Process#
2.1. Stop the Stack#
Stop all running containers:
sudo docker compose down2.2. Check Latest Versions#
Before editing your configuration, verify the current stable release versions for each component:
- Pangolin: GitHub Releases
- Gerbil: GitHub Releases
- Traefik: [Docker Hub](https://hub.docker.com/_/traefik)
- Badger: GitHub Releases
2.3. Update Configuration#
Edit your docker-compose.yml and config/traefik/traefik_config.yml files with the latest version numbers.
docker-compose.yml
services:
pangolin:
image: fosrl/pangolin:1.7.3 # Update to latest
gerbil:
image: fosrl/gerbil:1.2.1 # Update to latest
traefik:
image: traefik:v3.4.0 # Update if neededtraefik_config.yml
experimental:
plugins:
badger:
moduleName: [github.com/fosrl/badger](https://github.com/fosrl/badger)
version: v1.3.0 # Update to latest2.4. Apply Updates#
Pull the new images and start the stack:
sudo docker compose pull
sudo docker compose up -d2.5. Monitor and Verify#
Check the logs to ensure the migration scripts and services start correctly:
sudo docker compose logs -f