Wow. I’ve only just started testing it against GP, but it’s really slick and works really well. Lots more fine control than GP, and the only thing that isn’t quite as good is the photo editing on the app and web site, and that is on the roadmap. Oh, and I can’t see how to set up TLS but I might just be missing something.
TLS is if you are use immich behind a proxy. If you just use it in your network there is no need for TLS.
Yes, looks like a reverse proxy is the way to go.
Immich is easy to handle with standard proxy settings, nothing special. My caddy entry for immich is the typical one liner from caddy.
This is self hosted right? I would be afraid of a disk dying and losing all my photos. That happened to my Plex NAS.
Always have at least 3 copies of any important data. Follow the 3-2-1 rule.
Data loss can happen due to so many reasons, the only safe option is reliable and tested backups.
To expand on the 3-2-1 rule for the uninitiated:
3 total copies
2 onsite, using dissimilar media
1 offsite, for disaster recovery
I use SyncThing to monitor and copy my photos to an (encrypted, offsite) drive.
Raid and off-site backup.
Or trust in a hosting provider that has backups and redundancy.
Tls u need a domain (can use duckdns if u dont have a static ip) then get an ssl cert from lets encrypt then proxy immich through a reverse proxy like ngnx. Its what ive got set up.
My Pixel is taking short video snippets from which you can then choose the best frame, and so far no other app than GP is able to handle those (as far as I know at least).
Can Immich work with those?Just tried it with top photo and it seems to recognize it as such. There is a little playback button up top and it’s clearly not recognized as video. Although no way to extract a single frame.
Immich selects a frame usong some algorithm. I assume it prioritizes clear faces or something considering its facial recognition emphasis
My wife and I use Immich via Tailscale to avoid the need of any proxying and serious account management. That said, I have yet to fully transition from GP because I have at least one shared album that a few dozen people regularly access. Still need to test setting up a shared album w/ reverse proxy for this one. But then if I want to share another album I’d likely need to set up another proxy…or see if shared albums share a common URL I could use as a catch all. Still need to test.
Try ENTE!! Everything you store is e2e encrypted, their software is foss and you can share files easily, they even have a mid free plan. I’ve been using them for some time and they offer a great service.
It’s https://www.ente.io
My referal code is SVZWEU, you can use it if you want to get an extra 10 gb for the both of us, free of charge, when signing up to a paid plan.
You don’t have to use it, but thx if you do!
I self host. I’m not going to pay money for someone else to save my photos on another computer when something free (immich) does the same thing for me on my own hardware.
Ente is also able to be self-hosted.
Thanks for posting this. It isn’t overly obvious on their main page. I’m going to try this out. I like that their mobile apps support this as well.
Be sure to try Immich, too. If you don’t need E2E it’s better in my book. Especially with local-AI powered search, which Ente doesn’t have.
Thanks for the extra recommendation. I’ll definitely check it out. What caught my eye mostly was the clean mobile app of Ente. Immach’s mobile app sure looks close. I don’t technically need E2E since I’m self-hosting… Decisions decisions…
That was actually what made my decision. My drive is encrypted at rest, and E2E makes it much harder to do other things I may want to do with my library. For instance, I have a bunch of photography sessions imported as local libraries, so they’re just folders on disk I can modify outside of Immich as I want.
Awesome. Thanks!
I’m going to be trying this on my Kubernetes cluster. I don’t suppose either of you (Matt/fmstrat) have that working - do you?
There is an official helm chart for immich that works very well. Whenever there are breaking changes you may need to update the chart version to apply the breaking changes (ie the recent port change). Doing it with helm chart makes it so you don’t have to do much more than change 2 version numbers on occasion.
Thank you so much!
Great, so i pay them for me to host my own photos on my own hardware? That makes no sense.
If you pay them, they host it for you: one copy on B2, one copy on wasabi and a backup on scale way.
If you don’t pay them, you need to provide a S3 compatible endpoint for storage, a postgresql database and a coordinator. Doesn’t need fancy stuff
But you don’t have to pay them for self-hosting. ???
Put this in the other comment, but why?
But it doesnt have all the local-AI image recognition features, does it? Being able to search for “black car interior” is as random as it is effective in Immich.
I see people suggest Ente, but Immich has been fantastic for me, and is funded by FUTO which means it’s less likely to enshittify.
In other words:
Try Immich!! It’s worth trying.
they both have their pros and cons, immich is still in very early development and lacks some neccesery features in my books. thx for the suggestion tho
What? Now you’re just plain wrong.
Immich is more feature rich, has self-hosted AI, is 3 years old, has 52K+ stars on GitHub vs Ente’s 16K (with 2 less years no less), almost 4 times as many forks, and has a public roadmap.
How is that “very early development”? Want to give you the benefit of the doubt, but this feels very “Ente insider” to me. Outside of E2E encryption, what specifically does Ente offer that Immich doesn’t?
Using stars as a way of deciding if something is better is such a weird way to prove your rightness. And i personally don’t like that you have to self host. Ente has it as an option and it’s easy to do but that’s all i want it to be as with any service, an option. If you want to host photos for multiple users while respecting their privacy Ente is a better option. Photos are end to end encrypted, it means that only the person that uploaded the photo can see it (unless they shared it to someone else), not even the admin of the server (you) can see their photos. A problem with Ente tho is that the client has to do the work where as immich does it on the server so it’s faster and stronger. No, i’m not paid by ente to post these, are you tho?
I currently use immich with 40k+ files.
I think what OP meant by ‘early development’ is the updates with break Changes.
Ive been using immich in docker self hosted for 1.5 years.
I use authentik for user management and single sign on.
The breaking changes have only ever been minor changes I’ve had to make to my docker compose file, its always come back with no issues after the well described changes in the release notes and several of the changes I didn’t even have to do because it did not apply to me.
This is petty standard stuff for anyone used to self hosting but if that sounds like its not for you then check out the roadmap. The stable version is expected next year sometime. Wait for that before giving it a try.
Personally I like the fast development, I find myself likely and using at least 1 new feature ever major update. I think this will easily become the best photo manager in 1 to 2 years and it will not longer be much of a competition
I really like Ente.
Disadvantages:
- the photos that you’re self hosting are encrypted so if you want to have good sleeps you need to do daily exports
- Videos are also encrypted so no transcoding is possible. Client needs to download whole file before starting play (they say they have a solution coming for this)
- ML stuff is done client side so if you had a beefy server it will sit unused
- Exact duplicates are catched immediately (hash comparison before upload) but visual duplicates detection is trickier. Clients have a feature to find duplicates but it’s not as good as other software
Advantages:
- requires very little resources. The web album is static HTML and you can host it anywhere, even on GitHub pages, for free. Photos are saved in any S3 server, I chose garage. Then it has a postgresql database and a very light coordinator service. In total takes like 100mb of RAM.
- All the ML stuff is done on the client side when you’re browsing your photos so you don’t need a powerful server (on mobile devices it’s disabled by default in order to not kill the battery)
- Desktop client can be set to automatically backup all your photos in background
- Desktop client can be set to bidirectional sync a directory. Add or delete files from gallery automatically
- Mobile client takes track of what’s uploaded and can remove local files if a cloud backup is present (not automatically, need to press the “free up space” button
- Because it uploads to S3 and S3 natively supports chunked uploads you can upload files bigger than 100mb if using cloudflare free (immich uses a workaround for this but only works on desktop)
- Uploads are resumable
- Doesn’t have breaking changes where you need to use specific docker images like other galleries
I’d put the client ML as a disadvantage.
Having the AI processes run on a beefy server is much nicer in my book, but of course can only be done without E2E encryption.
Yes, it depends. In my case my server is underpowered so I didn’t like how much resources other galleries used (not only immich but also librephotos, photoprism)
btw i know i copy pasted this from one of my previous posts but it’s related and i didn’t feel like retyping all of this just to recommend something. I am not a bot! (probably)
I personally switched to Ente.io for shared photo albums. Works great. Encrypted, cheap and you don’t have to make an account as a guest user. I highly recommend that you give it a try. Also if you want to (opt-in). It got on device AI/ML for face and object recognition.
I forgot to mention. You can obviously self host it. Server and client are open source.
But it doesnt have all the local-AI image recognition features, does it? Being able to search for “black car interior” is as random as it is effective in Immich.
Wow, I just tried searching for random objects. It works. I don’t know how if it detects everything but I got some good results.
I’ve been using it for a couple weeks now. I am happy with it, but also annoyed by some obvious bugs. For example, I cannot find the Faces/People page on browser but is easy on the app. I have also only been able to merge faces once, even though this feature supposedly exists. Maybe there is some limitation to merging that is not clearly disclosed to the user. And I was disappointed that there’s no way to manually tag a person to their Face profile in an image.
I also think the sharing capabilities could be improved. Even if I share an album and make another user an editor, they still don’t have full permissions to it. For example, they cannot change the name of the album, or set a cover photo, and there is some weird unspecified limitation with creating a shared link of a photo that you didn’t upload yourself.
I also wish it had multi-part uploading because I have it routed through cloudflare tunnel for security and convenience, but that puts a 100MB limit on file transfers which multi-part uploads could work around.
Error messages could be more verbose. When an upload fails it just says Error. It took me digging through network messages to figure out that I was hitting that Cloudflare rate limiting error (the error message from CF was perfectly clear).
And I also have Keycloak set up with it for user accounts. That wasn’t too difficult (I am very familiar with Keycloak from work) but Immich doesn’t appear to have any settings available to utilize roles over oauth to customize user permissions in their app. For example, I would like to default new users to be only able to view but not upload photos until they get a certain role that can enable uploads. Because of this, I have to more closely guard the user registration page which is just extra work for me.
I got a notification recently that there was a new version available, so I tried updating. I’m using the image with the “latest” tag so I assumed just restarting the container would put it on the new version but it didn’t. So now I assume some version flag os saved in the mounted volume and I assume there is somewhere in the admin UI to tell it to update, but I haven’t been able to find it. This one is probably user error but I’m surprised and frustrated that I was unable to find help with this from a Google search.
Like I said, I’m happy with its capabilities but there is still a lot of polish missing. I understand what one of the other commenters meant when they said it’s still in early development. I am hoping these types of issues I’ve experienced will be ironed out in the future. I also understand that I could make a PR to fix these things myself, and I like the fact that that’s an option. I will probably contribute to the project when I have more free time. They’ve done great work so far.
I’m glad to hear this, I keep looking at it. I’m a little worried about the hardware requirements for it though. I keep putting off getting hardware for a dedicated jellyfin server (it’s on my wife’s gaming PC right now and it bugs the heck out of her)
Being able to look for “Linux meme” and get these results is spectacular:
Im also using this, works very well and has machine learning to detect faces in pics and categorize them automatically. Plus it’s reading the geo tags of images.