Immich 3.0
191 points
11 hours ago
| 11 comments
| github.com
| HN
AussieWog93
34 minutes ago
[-]
So many comments here about missing end to end encryption, but seriously - why would anyone want this?

Lets say burglars break in and steal your homelab. Because you don't have e2ee, they can see all the photos you saved of your dead grandmother! Oh no!

Or, in the more likely scenario that something happens to your phone, the lack of e2ee means that even if you lost your keys you didn't lose the only memories that remain of your grandma - you just copy across the .jpgs to a new device.

reply
Grombobulous
30 minutes ago
[-]
I think we can imagine a scenario where not all of our photos are non-sensitive.

I also imagine that a true E2EE architecture means you have more flexibility with cloud storage, managed hosting, and off-site backups.

reply
AussieWog93
25 minutes ago
[-]
I hear ya, I was being a little bit over the top. But I really do think that for every one user who would turn on e2ee and get some genuine benefit out of it, there would be a dozen that turn it on because "encryption good" and accidentally lose all their data.
reply
Cider9986
3 hours ago
[-]
When I was switching to GrapheneOS from iOS, I decided to self host my photos. I considered Immich, but I settled on Ente because of the encryption. Ente Photos is extremely polished and it's comparable quality to Apple photos.

It's cool they keep the server open and selfhostable instead of only open clients like many e2ee projects do.

I like how you can share an album and anyone can contribute to it without an account. Another cool feature is that you can select photos to lock when you hand your phone to somebody so they can only see the ones you selected without your device unlock.

reply
satvikpendem
1 hour ago
[-]
Ente Auth is also the best, because it works on any device, including the one you're trying to access (maybe it defeats the purpose of 2FA but sometimes I don't care).
reply
Grombobulous
27 minutes ago
[-]
I use and like Ente Photos a lot but I’ve never understood the appeal of their other products.

Ente Auth and Locker both seem like limited feature subsets of solutions like 1Password.

reply
Cider9986
1 hour ago
[-]
Ente is a cool company, all their products feel polished and I like their marketing mascots.
reply
kristopolous
3 hours ago
[-]
for people wondering:

"Ente Photos is a paid service, but we offer 10GB of free storage. You can also >>clone this repository and choose to self-host<<."

So both forms...

https://github.com/ente/ente

reply
mock-possum
1 hour ago
[-]
I got into Ente because I wanted to create photo upload links on a per-even basis - I can tell all my friends, if you take pics or video tonight, upload it at this URL - and it just works. No app necessary, very simple, very cheap. Then from there, I got the photo backup / archive service because why not.

They really are pretty much just what they appear to be. Im a fan.

reply
WillDaSilva
58 minutes ago
[-]
For what it's worth, Immich supports this too. You can create an album (for each event), create a shared link, allow public anonymous uploads for the shared link, and then give the link to everyone at the event, and ask them to upload their photos. It can be done from any web browser.
reply
oliyoung
2 hours ago
[-]
Immich is such a no-brainer replacement for Apple Photos or Google Photos, combined with VPN like Tailscale, it's almost a drop in replacement
reply
l11r
50 minutes ago
[-]
Are there any side effects of leaving Immich public? I think people overestimate the risks. Just update your stuff regularly, follow simple rules, and set up something like CrowdSec. I know it's simpler to just use Tailscale and similar tools, but recently I see the trend that people don't even consider otherwise.
reply
ivanjermakov
1 hour ago
[-]
Beware that migrating back from Immich to iCloud/Google is not something Immich cares about. There is no "download all" anywhere, best way is to go to the server and get raw files from there.

https://github.com/immich-app/immich/discussions/14365

reply
Panda4
1 hour ago
[-]
A download button would be great but the files are already stored on the device you can copy them with a usb or go on the device and upload it directly.
reply
tclancy
26 minutes ago
[-]
They’re literally on a disk drive I can physically touch. I think I can figure out a migration strategy for that.
reply
wsor4035
1 hour ago
[-]
maybe I fail to see your point, but following the link, then https://github.com/immich-app/immich/discussions/5068 is referenced which is resolved by pr https://github.com/immich-app/immich/pull/18878 adding bulk download functionality (may have manually select all to bulk download, unsure). At any rate I don't see where they say explicitly that they are against it
reply
willcmcc
1 hour ago
[-]
what do you mean download all? its your server over your files. If you want them, go get them! Or just point google / apple / whatever upload at your library directory.
reply
stogot
1 hour ago
[-]
There’s no download all in apple photos either unless they added it
reply
Terretta
47 minutes ago
[-]
And yet, the same is true for Apple photos about ease of export:

If you set the pref to keep originals locally, they're all on your drive, in original form, as well as the derived versions including caches of raw to jpeg, resolutions, and edited versions.

That said, Apple Photos does let you export even if only in cloud. Open the library, select all, and File > Export ... > Export Unmodified Originals.

It pauses for a second or two on my quarter million images, but is then happy to comply.

reply
chillfox
1 hour ago
[-]
I only wish it would support nested albums (or albums in folders) so it could be an easy replacement for lightroom cloud as well.

I have all of my photos organized like this: `events -> year/month - holiday -> (album_1, ...)`. and: `home town -> year -> (album_1, ...)`. Photos will be in multiple albums, and there will be edits as well. And I need to track the picked/rejected state as well (and filter on it).

Only reason I haven't moved over to Immich yet is because I am struggling to map my photo organization onto it's way of doing things in a way that's nice. So far my attempts have been unwieldy.

reply
Panda4
1 hour ago
[-]
Is there any side effects of leaving the phone connected to Tailscale VPN all day?
reply
KomoD
1 hour ago
[-]
Could impact battery usage, possibly?

But the way I do access Immich externally is not with Tailscale directly on my phone but involves exposing a caddy instance, running on a $1 VPS, to the internet.

If requests include a specific very long header (which I randomly made up), it then forwards those requests to my real Immich instance, which runs on my NAS. Headers can be configured within the mobile app. It has worked really well for me so far.

reply
kpozin
1 hour ago
[-]
If Tailscale is on, I can't concurrently run a DNS-blocking local VPN, so I see ads in mobile Chrome.
reply
philips
1 hour ago
[-]
reply
anon7000
1 hour ago
[-]
Could host it in the tailnet?
reply
ls612
1 hour ago
[-]
No lots of people including myself do this for homelab access purposes it just works (tm).
reply
phikappa
7 hours ago
[-]
There's a lot of things I spent a ton of time setting up, use once, and then never again. Tons of things that are easy to set up, and provide small benefits every day for a long time. Immich has got to be the thing that I've spent ages setting up, use extremely infrequently but the one time a year I use it I'm so happy I did. Great software.
reply
nickthegreek
5 hours ago
[-]
Man, I wish my experience was as nice. I used the proxmox lxc for it and after a 2 months of organizing I had some corruption and didn't have the fortitude to get through the debugging. It might have been related to a big version migration if I remember correctly. It turned me off the stack. The upgrading wasn't as turnkey as I wanted it to be and I dont think the case is different today.

I just want to be able to organize my folders outside of some dumb library system and immich at the time fought that as well.

reply
ravenstine
4 hours ago
[-]
I'm not sure I will ever upgrade Immich again. When I upgraded to the next minor version (I forget which off the top of my head), the data migration corrupted my database such that no images would be served. Fortunately I had the old database backed up, so I restored it, rolled back to the older version of Immich, and things were back to normal. I like Immich, but this is not good for software that's beyond the first major version, and also handles archiving people's personal data.
reply
drdexebtjl
3 hours ago
[-]
> Fortunately I had the old database backed up

You say this as if it wasn’t Immich itself that backed up the database automatically next to your image files.

I think they’re one of the best self-hosted services when it comes to backup/restore — enabling it by default — and when it comes to migrations — no breaking changes in minor versions after 1.0.

Did you report this issue so I could try and reproduce it?

reply
stavros
2 hours ago
[-]
I had an issue where my thumbnails were borked somehow, so I deleted them all. However, I didn't delete the database entries, so they never got regenerated.

I ended up doing that manually, but it's great to see that is now a first class citizen in 3.0.0. I love Immich.

reply
Saris
2 hours ago
[-]
In proxmox restoring a backup is really easy, I'm surprised you didn't do that!
reply
senectus1
1 hour ago
[-]
if you have a PBS its just incredibly simple.
reply
psadauskas
2 hours ago
[-]
Has the ios photo sync gotten better? I've got 20k photos on my phone, and last I tried it filled up the storage on my phone with the originals, and never completed the process, even after leaving my phone open, unlocked, and the immich app running in the foreground for several days, on the same local network as the server.

I know they were working on it, but haven't kept up, I just want to know if it works better now and I should try again.

reply
Lukas_Skywalker
2 hours ago
[-]
I have synced ~9000 photos from my phone in february. That worked pretty well. I was done in about 10 hours. I don't remember whether the originals were downloaded, or whether they were deleted automatically afterwards. Felt like a smooth process though.
reply
eptcyka
1 hour ago
[-]
Large file uploads are non-resumable. That is, if you have any videos at a decent bitrate and resolution, you need to be able to upload the whole file in a single session. iOS doesn't make this easy to do via background uploads. I uploaded everything by keeping the app open overnight.
reply
gunapologist99
2 hours ago
[-]
Likely more of an IOS issue than Immich issue. Apple doesn't care for apps that make it easier to exit iCloud.
reply
Grombobulous
10 minutes ago
[-]
Not at all, this works fine in Ente Photos as well. I imported a 40,000 photo library and it even works when you have optimized storage turned on (you don’t need to have all your entire iCloud photo library downloaded to your phone to migrate to Ente).

I imagine Immich must work somewhat similarly if not identically.

It takes a long time to do this, makes your phone hot, and you need to force your phone to stay awake for it if you want it to get done quickly, but it works.

Background upload without the “keep your phone awake overnight” method works as well, but that’s more practical for when your library is caught up. The initial import is what’s more intensive.

reply
azuanrb
2 hours ago
[-]
No, it’s an Immich issue. Not OP, but I was already using Synology Photos. Synology finished syncing my library in two days, while Immich was still syncing after more than a week. I decided it wasn’t worth it after that experience.
reply
Larrikin
1 hour ago
[-]
Why are you syncing from your phone instead of your Synology then? Can't you sync from your NAS then just have pictures uploaded as you take them? iOS has a lot of restrictions compared to Android so two days really doesn't feel like a meaningful difference from a week.
reply
Grombobulous
7 minutes ago
[-]
I’m not an Immich or Synology user but essentially the mobile apps end up replicating your whole structure a little better, at least when I did the iCloud library to Ente import.

I could have done a data download from Apple but essentially leaving the Ente app open and choosing my albums to back up was a “set it and forget it” process.

reply
MohamedMabrouk
5 hours ago
[-]
Immich is an amazing software. I use it regularly as an alternative along side Google photos. I keep in it large videos that I wouldn't upload normally to Google photos + the snappy experience at home vs Cloud-Bades solution.
reply
brewtide
4 hours ago
[-]
Does anyone have any pointers on the best way to import roughly 14 Google takeout chunks into immich?

I've downloaded all the chunks once, only to find them corrupted due to... Their 50gb size and using a browser in theory. One also cannot seem to use wget or alternatives because of the auth / session cookies required via Google takeout.

I've yet to even broach the aspect of importing each giant bundle into immich because I've not had success in even grabbing the takeout files correctly, but would LOVE pointers on the best way of importing the roughly 700gb into the database without it ALL going wrong.

I've had great success with immich running in docker for the past year or so, although I have yet to upgrade to the newest version. Google photos backups have been disabled on my phone for a year or so, but I yet to haul in all of the past years.

Also, anyone know if I can get immich to upload the photos without... Running immich once in a while? Would be great if it just automatically sent them to "my cloud".

Great software.

reply
cbrews
2 hours ago
[-]
If you can get all the images into a filesystem (on a NAS or similar server share), you can use the External Libraries feature in Immich (https://docs.immich.app/features/libraries/). This allows it to crunch through the media files via an async import job (a bit more reliable than having to directly upload via the web api).

In my setup, I exclusively use the external libraries feature, pointed at a read-only share from my NAS mounted onto my Immich server. (The external libraries are set to resynchronize to the database every few hours). This means I can manage all my media assets myself without worrying about Immich accidentally corrupting them, and if I eventually move off Immich, I just have a single folder of media files organized by date to port around.

The only downside is that I don't directly upload any media files directly to Immich, but that's okay. I have Syncopoli sync files from my phones (on a scheduled cadence) to an intermediary server which organizes and cleans exif data from media files before dropping it into its permanent home on my NAS share. No manual steps to get photos from my phone to my Immich instance!

reply
hamdingers
1 hour ago
[-]
This is a good usage pattern if you're absolutely married to the file structure you have and/or want to keep using the files where they are.

Not really applicable if what you have is a google takeout dump. Better in that case to import all the photos and let immich handle them moving forward using a tool like https://github.com/simulot/immich-go

reply
eightys3v3n
1 hour ago
[-]
Likely not the best approach:

I had ~200GiB. I selected below 10k files at a time to upload in the web UI (selected all 2014, then 2015). It was fine. More than that many and the UI became unusable.

External Libraries seem like a good option.

They have also recently improved the background import in the Android app so I have heard so that might be worth a try.

reply
altran1502
3 hours ago
[-]
You can use this tool to get them into Immich, it will parse all the metadata and recreate albums as you have in GPhotos https://github.com/simulot/immich-go
reply
exhilaration
1 hour ago
[-]
Oh wow, it recreates the Google Photos albums? That's the first time I've heard of a tool doing that. I've spent a ton of time organizing my Google Photos albums, that's a big reason I stay with it.
reply
conception
3 hours ago
[-]
Just a quick note that native windows extract is 32bit and dies on archives gt 4gb. Use 7zip or something to extract in case you happen to be using that one.
reply
etnoy
3 hours ago
[-]
immich-go has what you need
reply
thenews
2 hours ago
[-]
Immich is amazing, been using it as a backup since my phone is always full
reply
mopsi
6 hours ago
[-]
Does Immich support read-only source folders yet? I'd like to keep the original files intact, but allow Immich to index them.
reply
zyberzero
5 hours ago
[-]
Yes, at least for a year. There is a ”external library” feature, I think that does what you want.
reply
mopsi
5 hours ago
[-]
Thank you! That was not available the last time I checked.
reply
bo0tzz
4 hours ago
[-]
It's been available for nearly three years
reply
etnoy
3 hours ago
[-]
Yes, using external libraries. It's been a feature for several years. Make it read-only by mounting docker compose read only
reply
kQq9oHeAz6wLLS
1 hour ago
[-]
I got annoyed with Immich and external storage, because in order for every user to have their own facial recognition data on a large set of photos, you have to add the folder as external storage for each user, which means image previews for each user, even though the source image is the same. So if you have 3 users, you use up 3 times the space for the same thumbnail image.

It got to where I had 20% of my space was just thumbnails for each user, even though it was one set of images in the external storage.

Maybe that's changed recently.

reply
DavideNL
6 hours ago
[-]
I don't want yet another self hosted service to manage (update, backups, possible hardware failures, energy costs, ups, etc.).

Unfortunately Immich is not end-to-end encrypted. If that would have be the case i'd use https://pixelunion.eu/

Seems like a great app though. So... i'm still pondering what to do :-)

reply
Grombobulous
6 minutes ago
[-]
If you don’t want self-hosted and you want E2EE, Ente Photos is the best solution on the market that I have found.
reply
FabCH
3 hours ago
[-]
What do you mean Immich is not end-to-end encrypted? You control both ends, you can encrypt it any way you want…
reply
olejorgenb
2 hours ago
[-]
They said they only want to control one of the ends
reply
FabCH
2 hours ago
[-]
Fair enough, but the Immich provider they link to also uses SSL and claims to encrypt at rest.

It they don’t consider that e2e encrypted, literally nothing is then…

reply
NikxDa
1 hour ago
[-]
Encryption at rest means they have the key. End to end means they don‘t. Huge difference!
reply
mcsniff
6 hours ago
[-]
Okay? So don't use it, use a managed service like Google Photos, Apple Photos, Dropbox, etc where your photos and files might be arbitrarily removed or your access to them limited while they are scanned for disavowed content.

You can also just use a secure transport layer (like WireGuard or a VPN) instead of relying on every project to implement end-to-end encryption.

reply
gonzalohm
5 hours ago
[-]
So if you don't want a self hosted service there are tons of cloud providers. Google photos, iCloud, etc. Some people don't want to pay a monthly fee to store their photos or don't want to risk losing something with sentimental value just because a company decides to ban you
reply
brokensegue
2 hours ago
[-]
it's really not much to manage assuming you are already doing backups. you ~ pay the energy cost either way.
reply
BeetleB
2 hours ago
[-]
Lessons from using self hosted image services years ago:

- Upgrade breaks things. Need to restore from DB, install previous version, etc.

- Need to update frequently (i.e. if I wait 2 years, the upgrade script doesn't work).

- Discovering a corruption months/years later. Some data just lost by that point.

- Backward incompatible changes

Of course, if you need the features, by all means use it. I just want to back up my photos and use FolderSync daily. I have a separate workflow for pruning. As long as FolderSync (or some similar app) exists, I know this flow will work 10 years from now (heck, I've been using it for almost as long). No time spent worrying about upgrading, etc.

reply
hamdingers
1 hour ago
[-]
> Lessons from using self hosted image services years ago:

Alternate title: "Outdated lessons I haven't re-evaluated"

reply
BeetleB
31 minutes ago
[-]
Are you saying there are never backward incompatible changes?

Are you saying there's no need to back up the underlying DB?

Are you saying I can keep an insurance running for, say, three years and it'll be trivial to upgrade after that?

reply
hamdingers
24 seconds ago
[-]
I'm saying your contribution is outdated and irrelevant, and my primary intention in commenting is to label it as such for any passers-by who might think you're talking about the current state Immich.

That sad, I'm glad you asked. I've run Immich in docker for 3 years with automatic updates through watchtower. Updates are frequent but require no effort from me and have never broken anything, nor is there an "update script" to fail. Nor have I encountered "corruption" at any point. I do back up the database and my photo library.

I'm glad you're happy with your solution, you can share it without disparaging other solutions you're unfamiliar with.

reply
amelius
2 hours ago
[-]
> I don't want yet another self hosted service to manage

Isn't system administration a solved problem now with LLMs? At least for these simple problem domains?

reply
Jhsto
5 hours ago
[-]
You can use https://ente.com/ (it's open-source). It also makes the seemingly much better decision of storing photos in S3.
reply
Grombobulous
4 minutes ago
[-]
Ente’s cloud-hosted solution does not use S3:

https://ente.com/reliability/

For self-hosting, “S3” usually just means “S3-compatible.” Although maybe that’s exactly what you meant.

reply
gonzalohm
5 hours ago
[-]
The point of Immich is self hosting. Using AWS defeats that purpose
reply
jasonvorhe
4 hours ago
[-]
S3 has many open implementations you can self host. Some are quite lean even. Unless you need really complex IAM stuff it's a solid and rather simple experience to run it.
reply
MoonWalk
1 hour ago
[-]
This is a good point. I'd rather have something with the S3 option, so I can serve the pages from my house but the images from a speedier source.
reply
gonzalohm
4 hours ago
[-]
Yeah but Immich provides a lot more features than just storage
reply
fragmede
4 hours ago
[-]
Perfect is the enemy of the good. While there's an ideal case where you're hosting it on a box in your house, that's not for everybody. So while hosting it on AWS doesn't remove every dependency on big tech, at least it's not a full on Google hosted SaaS product.
reply
gonzalohm
4 hours ago
[-]
I think "perfect is the enemy of good" is actually an argument against AWS integration. Using S3 as a backend is a lot more complex than using local storage so it would take a lot more time to implement, that's why local storage is good enough
reply
buster
5 hours ago
[-]
+1 for Ente. Replaced Google photos for me
reply
tamimio
3 hours ago
[-]
You can have immich on truenas that has the whole pool encrypted, same goes with opencloud for other docs/files. Plus all nas backup features, I think it’s a better approach than dealing with each app encryption.

Edit: regarding cloud based backup, besides the usual privacy and security concerns, you can’t guarantee the fixed price, you might subscribe now and pay for a year, next year you have the typical “oops, operation cost are high we have to raise the prices or shutdown” blog post and now you’re stuck again, download, find another, upload, etc.

reply
jrm4
5 hours ago
[-]
VPN (or other) Tunnel.

That's the objective answer. There's no mystery here. That's exactly how you get what you want and it's not too hard. Not trying to dunk on you or anyone one but this is an easily solved problem, and I think I want to highlight it like this to make sure everyone understands.

Anything web/internet/network service thing, you can add this on. This composability is important to remember in software, this even goes back to "The Unix Way" type stuff.

reply
ravenstine
4 hours ago
[-]
It's also a kind of funny thing how HN has the attitude of "never implement your own encrypted anything" but then demand their apps build in e2e encryption. It may be one abstraction higher, but it's still fundamentally the same problem. With the unfortunate exception of web browsers, if I'm going to use something that performs encryption, then I want encryption to be the only job it has.
reply
PhilipRoman
3 hours ago
[-]
How are VPNs related to end-to-end encryption?
reply
nicce
2 hours ago
[-]
Their primary purpose is usually encrypt the connection between different endpoints… by creating virtual private networks…
reply
tamimio
3 hours ago
[-]
I believe OP meant at rest encryption, meaning, just because someone had an access to your physical drive doesn’t mean they can browse your pics.
reply