Docker Compose Update Process
Simple to follow general rules to update docker compose installed applications like Immich, Mealie, Paperless-ngx, etc.
Docker Compose Update Process
Docker Compose Update Process
Standard Update Procedure
1. Check Release Notes
- Review release notes for breaking changes
- Look for required migrations or database updates
- Check for new environment variables in
.envfile
2. Pull New Images
1
2
cd /path/to/docker-compose-directory
docker compose pull
Downloads the latest images without stopping containers.
3. Restart Containers
1
docker compose up -d
Stops old containers and starts new ones with updated images.
Command Syntax Note
Use docker compose (space, not hyphen). The old docker-compose (hyphen) still works but is the legacy standalone tool.
Version Management
Floating Tags (Auto-update)
1
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
- This uses tags like
release,latest, orstable - Updates to the newest version when you pull
- Good for staying current automatically
Pinned Versions (Manual control)
1
image: ghcr.io/immich-app/immich-server:v2.3.1
- Stays on exact version until you change it
- Better for production/critical services
- Prevents surprise updates
Best Practices
Before Major Updates
- Ensure backups are current
- Check for special upgrade paths (e.g., v1.x → v2.x)
- Review documentation for migration steps
After Updates
1
2
3
docker ps # Check containers are running
docker logs <container_name> # Verify startup succeeded
docker logs <container_name> 2>&1 | grep -i error # Check for errors
Quick Reference
1
2
3
4
5
6
# Standard update sequence
cd ~/app/docker
docker compose pull
docker compose up -d
docker ps
docker logs <container_name>
Common Applications
This process works for most containerized apps:
- Immich
- Mealie
- Paperless-ngx
- Jellyfin
- And most Docker Compose deployments
This post is licensed under CC BY 4.0 by the author.