Docker Images and Releases
SafariDesk publishes two application Docker images for self-hosting:Image Count
SafariDesk has two custom application images.
SafariDesk does not need separate images for
channels, worker, or beat. Those services reuse the backend image.
Compose Image References
The rootdocker-compose.yml reads these variables:
Local Build vs Published Images
Use published images for normal self-hosting:GitHub Actions Publishing
Docker Hub publishing is defined in:safaridesk-frontendsafaridesk-backend
Placeholder links:
Tagging Rules
The Docker workflow currently generates tags from:- Branch name
- Git tag
- Commit SHA with
sha-prefix lateston the default branch
latest for production because it can change between deployments.
Release Workflow
GitHub releases are created by:v* is pushed.
Example:
- Frontend changes
- Backend changes
- Database migration notes
- Environment variable changes
- Docker image tags
- Upgrade steps
- Rollback notes
Versioning Model
Use one SafariDesk version for the whole monorepo. Good:- Frontend API expectations
- Backend API behavior
- WebSocket routes
- Database migrations
- Environment variable requirements
- Documentation
- Docker Compose examples
Build Locally Before Publishing
Validate the Compose file:Manual Docker Hub Publishing
Use the GitHub workflow for normal publishing. If manual publishing is needed:latest only when the version should become the default:
Upgrade Image Tags
Update.env:
Rollback Image Tags
If a release must be rolled back:- Stop traffic or put the site into maintenance mode if your infrastructure supports it.
- Restore the database if the failed release ran non-reversible migrations.
- Set
SAFARIDESK_IMAGE_TAGback to the previous version. - Pull and restart.
Release Checklist
- Frontend build passes.
- Backend checks pass.
- Compose validation passes.
- Docker images build.
- Docker images push to Docker Hub.
- Release tag exists.
- Release notes include migrations.
- Release notes include env var changes.
- Installation docs still match Compose.
- Update docs are tested from the previous release.
- Rollback notes are included.

