Skip to content

Upgrading ​

ApiMeld is distributed as a Docker image. Upgrading is pulling the new image and recreating the container — database migrations run automatically on startup.

Standard upgrade ​

If you're using the latest tag (the default):

bash
docker pull gitea.apimeld.com/meld/apimeld-scheduler:latest
docker stop apimeld
docker rm apimeld
docker run -d [your original flags] gitea.apimeld.com/meld/apimeld-scheduler:latest

Or with Docker Compose:

bash
docker compose pull
docker compose up -d

With Portainer ​

If you're managing the container via a Portainer stack, update the stack to trigger a repull and recreate.

Database migrations ​

Migrations run automatically every time the container starts. They are idempotent — safe to run multiple times. You do not need to run migrations manually.

If a migration fails, the error is logged to stdout (docker logs apimeld) but the app continues running so the UI is still accessible for diagnostics.

Preserving configuration ​

Your configuration is stored in the /app/config volume. As long as you mount the same named volume when recreating the container, all settings are preserved.

bash
-v apimeld_config:/app/config

Never delete the apimeld_config volume — it contains your encryption keys and generated settings.

Rolling back ​

To roll back to a previous version, specify the SHA-tagged image instead of latest:

bash
docker run -d [flags] gitea.apimeld.com/meld/apimeld-scheduler:sha-abc1234

WARNING

Rolling back across a migration boundary may leave the database in a state newer than the app expects. Check the changelog before rolling back.