Skip to content

Upgrading from Docker to rootless Podman

This will guide you through migrating data from a Docker-based installation of Steampunk Spotter to a rootless Podman-based installation.

Step 0: Install Steampunk Spotter

Install the Podman version of Steampunk Spotter on the new machine. Since we're going to be restoring a backup, it is not necessary to configure anything. Having containers running in their initial state is sufficient.

The installer will guide you through the setup process. Take care to note down the install location for future upgrades. You do not need to save the instance administrator credentials since we'll be restoring from a backup.

Step 1: Create a backup on the old machine

Create a backup by first stopping the deployment, bringing up only the database container, then creating a database dump.

cd /srv/docker-services/onprem/
docker compose -f docker-compose-scanner.yml stop
docker compose -f docker-compose-scanner.yml up -d backend-postgres
docker compose -f docker-compose-scanner.yml exec \
    backend-postgres /usr/bin/pg_dump backend | gzip > dump.sql.gz

Step 2: Transfer dump.sql.gz to the new machine

Use SSH or another method to transfer the dump file to the new instance.

Step 3: Restore backup on the new machine

To restore a backup, we first need to destroy all existing data in the new instance.

cd /spotter/steampunk-spotter/config/onprem/
podman-portable compose down --volumes

Restoring the data just means importing the SQL dump generated in Step 1 into the running database container.

podman-portable compose up -d backend-postgres

gunzip -c dump.sql | \
    podman-portable compose exec -T \
        backend-postgres /usr/bin/psql backend

After the dump is imported, bring up Steampunk Spotter, which will automatically perform schema upgrades to upgrade the database to match the upgraded version of Spotter.

podman-portable compose up -d --force-recreate

Step 4: Log in as the instance admin and apply a license

If the Steampunk Spotter upgrade also includes a license upgrade, or a change in the license format, the vendor will have provided you with a new license file. This means that Spotter will initially run in a state with an expired license, requiring you to log in with a local instance administrator account to input the license.

  1. Log in with a local (non-LDAP) instance administrator account.
  2. Insert the new license file when prompted.

After this, full functionality of Steampunk Spotter has been restored.

The upgrade is finished.