Hopefully I’m posting this in the right place. I’m planning on using immich for selfhosted photo storage. I’m a bit worried that I may lose all my photos if my drive fails, so I’m planning on running two hdd’s in raid 1 in addition to my nvme that I’m running my OS on.
I couldn’t find this when I googled it, but is it possible to point immich to store data on a separate internal drive other than the one that the OS is running on?
If you run immich with docker, you can choose any drive/folder for your photos by mounting it at the right location inside the docker container.
However, I would strongly suggest that you also use some other kind of backup beside rest. I personally like restic combined with Backblaze B2, but there are many other good solutions for this.
I agree, OP please do proper backups, because RAID is not a backup.
Borg is another great option for doing backups.
Yeah the only thing I’ll need to backup will just be the photos. This machine is just gonna run Ubuntu server so I can try out a bunch of other self hostable services for fun. I’ll take a look into Borg though! Always appreciate any suggestions.
I just googled restic, so does it just create a single encrypted backup file you can upload to backblaze b2 cloud storage? I will definitely look into that.
For now, immich is just another safety net. I’ve got my photos backed up to iCloud photos as well as Google Photos. It’s not a price or privacy thing so much as a just in case Google or Apple decides to shut down my account for whatever reason.
I may skip running two hdd’s in raid 1 though if restic and b2 can restore all my files if the drive fails. Have you done this before? Is it difficult to restore to a backup?
Restic does nit create a single backup file. You can either pack the repository in an archive or use restic do directly backup to b2. If i recall correctly b2 is supported by restic directly.
And just to stress that point: backup > redundancy
If you’re deploying Immich with docker, you can probably specify any storage device as its storage backend.
I just downloaded their docker compose file and I see I can specify the absolute location on my machine so I think you’re right. Thanks!
Yes, you can. But will you be able to keep up with their tiring update cycle that forces you to redeploy every week?
Idk, maybe? I’m a docker noob. How hard is it to redeploy a docker container and keep my photos?
Assuming you set up your volume correctly, it’s very easy. If you’re brave, you could even have your image URI use the tag
latest
, then all you need to do is restart the container each time an update comes out. I’m a little less brave. I like to use explicit version numbers. I just update my Dockerfile or yml file and restart it each time.Kinda unrelated, but if I restart my computer for whatever reason, will the containers and volumes be wiped out?
Nope, the containers will stop and the volumes (bind mount or classic) will persist
The volumes will be fine. The way volumes work is the data is stored on the host in a directory, and then that directory gets mounted on the container. So as long as you don’t delete the volume’s folder on the host, you are totally fine.
The containers won’t get wiped, but even if they did, it wouldn’t matter. They aren’t anything special. You could wipe them at will and pull them again and restart them. As long as your volumes didn’t get deleted, it will be like nothing even happened.
It is not very hard. The problem is when they suddenly change an environment variable name or format, and you need to debug what is not working and why