Check your current version
To see which version you’re currently running:SENTRY_IMAGE variable in your .env file to see the pinned image tag.
Upgrade steps
Back up your data
Before upgrading, take a full database backup:Keep this backup somewhere safe before proceeding.
Pull the latest self-hosted repository changes
Fetch updates to the self-hosted repository:Review the CHANGELOG for breaking changes before continuing.
Run the install script
Run the install script. It pulls updated Docker images, runs any pending database migrations, and applies any configuration changes.Database migrations run automatically as part of
install.sh. You do not need to run them separately.The install script is designed to be idempotent — it’s safe to run multiple times.
Restart services
Bring all services up with the new images:Docker Compose will restart only the containers whose images have changed.
How migrations work
Sentry uses Django’s migration system. When you runinstall.sh (or docker compose run --rm web upgrade), Sentry:
- Checks whether any pending migrations exist
- Runs each pending migration in order
- Records the completed migration in the
django_migrationstable
install.sh:
Breaking changes
Review the self-hosted CHANGELOG and the main Sentry CHANGELOG before each upgrade. Breaking changes are marked explicitly. Common sources of breaking changes:- Configuration variable renames or removals
- Minimum PostgreSQL or Redis version requirements
- Hard stops that require upgrading through intermediate versions
- Changes to the Docker Compose service definitions
Rollback considerations
Sentry does not support automatic rollback after running database migrations. If an upgrade causes issues:- Stop all services:
docker compose down - Restore your database from the backup taken before upgrading
- Check out the previous version of the self-hosted repository:
git checkout <previous-tag> - Start services with the old images:
docker compose up -d