So, you’re running your own Immich server (nice!). You’re backing up your photos, keeping everything local, and feeling like the king or queen of your digital castle. But then comes a new version of Immich. You want the latest features… but you don’t want to break anything. Don’t worry — we’ve got you covered.
TL;DR:
Updating Immich is simple, but you need to do it carefully. Always back up your data before doing anything. Use Docker commands to pull the latest version, stop the current server, and re-deploy. With a few short steps, you’re running the newest version with no drama. 🎉
Why Bother Updating?
New updates usually come with:
- Cool new features – Maybe a shiny new interface or filters.
- Security patches – Keep those pesky hackers out!
- Bug fixes – No more crashes at random times.
Long story short: Updates = Good Stuff. But only if done right.
Step 1: Know How You Set It Up
Most people run Immich using Docker Compose. That’s what this guide will focus on. If you set it up some other way, things might be a bit different.
If you’re not sure, poke around your server. If you see files like docker-compose.yml, congrats! You’re in the right place.
Step 2: Backup Like a Boss 🛡️
This part is super important. Before touching anything, make a backup. Here’s what to back up:
- Your photos/videos
- Your PostgreSQL database
- Your docker-compose files and any config
To back up your files, just copy them to a safe place:
cp -r /path/to/immich/photos /backups/immich-photos-backup
To back up your database:
docker exec -t immich_postgres pg_dumpall -c -U postgres > /backups/immich-db-backup.sql
Test your backups. Yes, really. 💾
Step 3: Stop the Server
Once you’re sure your data is safe, it’s time to stop Immich. Go to the folder with your Docker setup and run:
docker-compose down
This stops all containers so you can make the upgrade cleanly. Deep breath. We’re halfway there!
Step 4: Get the Latest Version
Time to fetch the latest and greatest Immich code. Run:
docker-compose pull
This updates the Docker images to the latest versions defined in your docker-compose.yml.
If you have a custom .env file with version tags, update the versions there as well.
Want the bleeding-edge version? You can switch tags in your compose file like:
image: ghcr.io/immich-app/immich-server:release
But be careful! “Release” is stable, while “main” might be risky.
Step 5: Restart With the New Version 🚀
Now spin it all back up:
docker-compose up -d
Watch the logs to make sure nothing breaks right away:
docker-compose logs -f
Look out for errors. If everything looks smooth, pat yourself on the back. You did it!
Optional: Run the Migration (If Needed)
Sometimes, the new version will include database changes. These updates require a migration.
The Immich team usually automates these, but if things look weird, run:
docker exec -it immich_server npm run migration:run
This runs any pending migrations to keep your DB happy and updated.
Step 6: Confirm Everything Works
Open up your browser and log in to your Immich dashboard. Click around. Check if:
- Your photos and albums load
- Search still works (if enabled)
- Face detection and other features are doing their thing
If it all works – great! If not, check logs and roll back if needed.
Step 7: Clean Up Unused Images
Once you’re sure everything is fine, clean up old Docker images with:
docker image prune -f
This frees up disk space that was used by the old image versions.
Troubleshooting Tips 🧰
If things go sideways (and sometimes they do), try these:
- Check the logs – Use
docker-compose logsto see what’s up - Verify ports – Ensure Immich is still listening on the correct port (default is 2283)
- Roll back – Use your backup to restore the previous version
- Check GitHub – Search for similar issues in the Immich repo
Bonus: Staying Up to Date Automatically
If you like living on the edge and want to always have the latest release:
- Use a monitoring tool like Watchtower to auto-update Docker images.
- Set up a cron job to pull and restart every week (after a backup, of course).
- Join the Immich Discord or follow release notes on GitHub.
But honestly? Manual updating is better for most folks. That way, you keep full control and avoid surprises.
Final Thoughts
Updating Immich might sound technical, but it really comes down to a few simple actions:
- Backup everything
- Pull the new version
- Restart your server
Do it step by step, and you’ll be fine. Enjoy the new features and improved stability!
Now go treat yourself to a cookie — you’ve earned it. 🍪