Analysis updated 2026-05-18
Take a full, consistent backup of a self-hosted Immich photo library and its database in one run.
Schedule automatic recurring backups of an Immich server using the script's built-in cron setup.
Back up an external media library alongside Immich's own storage before performing server maintenance.
| akshayskrishna/immich-backup-snapshot | 100/dotfiles | adams549659584/my-openwrt-actions | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Shell | Shell | Shell |
| Last pushed | — | 2016-11-18 | 2020-06-06 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | easy | easy | hard |
| Complexity | 2/5 | 1/5 | 3/5 |
| Audience | ops devops | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires bash, docker, rsync, and gzip already installed, the backup destination folder must exist beforehand.
Immich Snapshot Tool is a shell script that creates a full backup of an Immich installation. Immich is a self-hosted photo and video library that people run in Docker, and this script backs up both its database and its media files in one complete snapshot rather than doing an incremental backup that only copies changes. When you run it interactively, the script asks a series of questions: whether the current folder is the Immich Docker Compose folder or where the correct one is, where the backup should be stored, and whether there is an external media library path to include as well. It also offers to set up an optional cron schedule so backups run automatically, with choices like daily, weekly, twice a month, once a month, or just once immediately, and it asks for the specific timing details that schedule needs, such as the hour of day or day of week. For the backup itself, the script creates a compressed dump of Immich's PostgreSQL database using common environment variables Immich containers already set, then briefly stops the Immich Docker stack so the file copy is not interrupted mid-write, copies the media storage and any external library using rsync, and starts Immich back up again afterward, including in cases where an earlier step failed, so a backup run never leaves the service down. The README lists some safety behavior: the backup destination folder must already exist and be writable, the script refuses to write backups inside the same folder tree it is copying from, and it recommends testing everything interactively before turning on the cron schedule. It requires bash, docker, rsync, gzip, and a handful of standard Unix command line tools to be present on the machine running it. Two companion projects are mentioned: a sibling repository offers an incremental version of this same backup for large libraries where copying everything each time is wasteful, and another sibling repository provides a restore script that reads the manifest this backup tool writes to restore a snapshot. No license is stated in the README.
A shell script that backs up an entire self-hosted Immich photo library, database and all, on a schedule you choose.
Mainly Shell. The stack also includes Bash, Docker, PostgreSQL.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.