Updating Pangolin is straightforward since it’s a collection of Docker images. Simply pull the latest images and restart the stack. Migration scripts run automatically to update your database and configuration files when needed.

Before You Update

Always backup your data before updating. Copy your config directory to a safe location so you can roll back if needed.
Recommended: Update incrementally between major versions. For example, update from 1.0.0 → 1.1.0 → 1.2.0 instead of jumping directly from 1.0.0 → 1.2.0.

Update Process

1

Stop the stack

Stop all running containers:
sudo docker compose down
2

Check latest versions

Find the latest version numbers:
Look for the latest stable release (not pre-release or beta versions).
3

Update version numbers

Edit your docker-compose.yml file and update the image versions:
docker-compose.yml
services:
  pangolin:
      image: fosrl/pangolin:1.7.3  # Update to latest version
      # ... rest of config

  gerbil:
      image: fosrl/gerbil:1.2.1   # Update to latest version
      # ... rest of config
  
    traefik:
      image: traefik:v3.4.0       # Update if needed
      # ... rest of config
Increase the Badger version number in config/traefik_config.yml:
traefik_config.yml
experimental:
  plugins:
    badger:
      moduleName: github.com/fosrl/badger
      version: v1.2.0 # Update to latest version
Update each service you want to upgrade. You can update them individually or all at once.
4

Pull new images

Download the updated Docker images:
sudo docker compose pull
5

Start the stack

Start the updated containers:
sudo docker compose up -d
6

Monitor the update

Watch the logs to ensure everything starts correctly:
sudo docker compose logs -f
7

Verify functionality

Test that everything is working:
  1. Access your Pangolin dashboard
  2. Check that all sites are accessible
  3. Verify tunnel connections (if using Gerbil)
  4. Test any custom configurations
If everything works, your update is complete!