RomM uses Alembic for automatic database schema migrations. In most cases, upgrading is a straightforward pull-and-restart operation — RomM applies any pending migrations automatically on startup, with no manual SQL required. Following the steps below ensures you have a safe rollback path if anything goes wrong.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/rommapp/romm/llms.txt
Use this file to discover all available pages before exploring further.
Standard upgrade
Read the release notes
Visit the GitHub Releases page and read the notes for every version between your current version and the target. Look for:
- Breaking changes in environment variables or configuration
- Changes to the folder structure or volume mounts
- Required manual steps (rare, but listed prominently when needed)
Back up your database
Run a database dump before pulling the new image. Replace Store the backup somewhere outside the Docker volume (e.g. your host’s home directory or a network share).
romm-db with your MariaDB container name if different.Restart the container
Alembic migrations are applied automatically — you do not need to run any SQL commands manually. If a migration fails, RomM will log the error and refuse to start, protecting your database from a partially-migrated state. Restore your backup and open an issue on GitHub if this happens.
Version pinning
Usingrommapp/romm:latest always pulls the newest release, which can be convenient but means you may get a breaking change unexpectedly. For production deployments, pin to a specific version tag:
docker compose up -d --pull always.
Rolling back
If the upgrade causes problems, you can revert by stopping the container, restoring your database backup, and starting the old image.Checking for breaking changes
Beyond the release notes, these resources are useful when evaluating an upgrade:- GitHub Releases — full changelog with migration notes for every release
- CHANGELOG.md — cumulative change log in the repository
- env.template — compare against your current
.envorenvironment:block to spot new or renamed variables
- Renamed or removed environment variables
- Changes to the expected library folder structure
- Removal of deprecated API endpoints
- New required variables (e.g.
ROMM_AUTH_SECRET_KEYwas made mandatory in an earlier release)