Get the top HN stories in your inbox every day.
rlpb
madeofpalk
> Ironically, just after posting that I came across this, which I think proves why my concern is warranted: https://news.ycombinator.com/item?id=45169657
> Debian isn't immune to this, but it's much harder for such an attack to be successful when dependencies aren't constantly changing.
Immich is more immune to this issue because they wait 5 days before raising PRs to bump dependencies, which is a good practice https://github.com/immich-app/.github/blob/main/renovate-con...
rlpb
OK, more maybe, but that is nothing next to Debian, where a huge Debian userbase settles on a single set of versions for all dependencies for a year (usually more) at a time.
madeofpalk
I would expect an operating system and a single application have a different approach to dependency management.
lhamil64
I've been keeping my eye on Immich for a while and keep waiting for a stable release to try it out, but that hasn't happened yet. I'm also dreading having to setup proper backups if I were to switch to this over Google photos. My current solution is to backup critical homelab things to Google Drive automatically but I'd want a proper off-site backup if I were going to self host all my photos.
pkulak
So you use Google Photos and backup to Google Drive? Sorry to say, but if Google ever decides to deactivate your account (which can and will happen for any reason, real or imagined), you lose everything.
A stable release is only a couple months out. Maybe do a Takeout until then, and put it in S3 Glacier, or similar?
para_parolu
I quite like their backup story. Immich has one folder that you need to backup. It stores file and dump of db that immich does on schedule. I don’t care that much about db dump but backuping photos os very easy
dalenw
To be fair, there’s a massive banner on their front page warning users it’s in beta. Until they settle on a proper release it’ll continue to be a bit chaotic. All software development is like that.
izacus
This looks like one of those projects that will never settle and have a stable slower release cycle.
fivestones
I don’t think so. They are steadily approaching their defined and published goals for stable release. I’m guessing it will come this year.
rhizome
v0.46.4_p3
WD-42
This looks like a project that’s under heavy development (it is) responsibly keeping up with dependencies. This gives me more confidence, not less.
Theodores
To be honest, a decent image server that can be the root server for a CDN and do the right things with modern web formats is something that should be standard and built in by now, with nobody needing to build and install their own.
That said, this is far better than my own non-existent image server.
For me a measure of quality is the rendered HTML code, which should use all the content sectioning elements and not be bloated with gazillions of divs and classes. This software is well off the pace in this regard.
tootie
Why is docker compose a red flag? That feels like a benefit to me.
rlpb
It's not a problem that Docker Compose can be used and a configuration is provided. What's an indicator of a dependency problem is when it's the only way to deploy the software. If, instead, they could say "all required dependencies ship in Debian at a sufficient version to meet our requirements" then that would be ideal (Debian isn't a hard requirement for me, but I use it as an example since it sets a bar similar to the one I want software I deploy to meet). Or even just "nearly all dependencies except this one" would be much better.
cowmix
100% -- firs time I have seen providing a docker compose file is a sign of weakness.
tracker1
Yeah... I'm not sure that I've ever seen a complex app with multiple, separate service/database requirements (redis, pg, etc) packaged in a Linux distro repository... but I could be wrong.
dingnuts
controversial but docker compose is for development and demos. for prod give me a binary, a config file / systemd unit file, and tell me how to configure external dependencies and let me decide how to manage them.
and if you're serious, k8s config. otherwise don't waste my time.
yesnomaybe
You want to run it in docker and manage it with some tool. I use dockge and click the upgrade button every couple of days / weeks (when the app or website tells me). that's it.
Immich is an excellent piece of software, I have switch all my photo needs from over 25 years to it. It will mature and it actually already is. Don't hold yourself back with such practicalities.
undefined
undefined
greysonp
Absolutely love immich. Prior to the release of the new "Beta timeline", it was difficult to recommend without reservation, because there were a lot of performance issues on Android, and syncing was just non-functional on my wife's iPhone. However, since enabling the beta timeline, the app is basically perfect now. I've been running it for months without issue, and having a first-class CLI means I've been able to do things like automatically create albums from my Signal backup. Big thanks to the immich team!
ashenke
Thank you for this, I updated some time ago but never really switched. Night and day difference !
The other thing I'm waiting for is search results ordered by date instead of relevance. When I'm searching for a picture in particular I know was taken 3 years ago, and search keywords to find it, it's impossible to find this specific photo because the ordering seem random
dpcx
The only problem I've had with it so far is that the date on photos coming from icloud is when they were uploaded, not the date that the photo was created or even the date that I've marked the photo as being taken. Makes seeing photos from 90 years ago kind of strange.
cgsmith
I removed myself from beta. I always have iPhone and Android apps stalling on backing up unless the app is open.
j_bum
The recent betas have been extremely performant for me, especially today’s. Might be worth checking out again.
mixermachine
Some performance bottlenecks seem to be still in. I added around 200 images and 10 videos of my last vacation manually via Intent to the Immich app on Android.
The startup of the Activity is VERY slow. Images are rendered one by one in the list view (potentially in full resolution?) and the scrolling in the list is quite slow. The upload button does not keep the "uploading" state but after some time jumps back to the initial "start upload" state. Going into background or turning the screen off sometimes stops the upload. This test was done on my Samsung S23 Ultra (so CPU power should not be the issue).
Nevertheless the upload works as expected if I stay in the app and keep the screen active. Seems like this is not really the intended way of uploading things to Immich (auto upload is).
mrlatinos
Maybe it's because my server is still on v.1.139.4, but I have had the opposite experience with the new beta timeline on Android. I disabled it after trying it for a week because it took so long for thumbnails to load vs. the stable version. Compared to Google Photos, any version of the Immich timeline I've tried feels extremely clunky. It's a great backup alternative and I commend the team behind it, but it is far from being a product I'd recommend as an everyday photo gallery app.
codethief
> I've been able to do things like automatically create albums from my Signal backup
Interesting, would you mind elaborating on how you do that? I take it you have your backup key stored on your home server then? What tool do you use to decrypt & parse the backup?
greysonp
Sure! I make Signal backups on my Android device, sync them to my home server via FolderSync, and then run a nightly script that uses signalbackup-tools[1] to extract media from my family group chats and upload them to my immich server via their CLI.
navigate8310
Couldn't you simply select the Signal folder that contains the media and let Immich monitor changes
rclkrtrzckr
CLI? Didn't even know that! A doc pointer would be awesome
N-Krause
Runs on a Pi4 in a cabinet with a lot of other self hosted stuff. Data is stored on a NAS. Performance on the Pi4 isn't the greatest, but it works without any annoyance.
It has been hosting my SO's and my photos for a few months, the transition from Google Photos was pretty easy and it is almost a drop in replacement. I love it.
Make sure to checkout https://github.com/simulot/immich-go, it was a great help migrating my Google Takeout to Immich.
porphyra
Immich supports search by CLIP and I would find it highly useful to search for stuff by semantic meaning (I rely on Google Photos' ability to do that for now). How does your Pi4 handle CLIP?
jerf
I'm not running on a Pi4, but I am running on an N150 which is in roughly the same performance league, and CLIP searching is instant in my ~10K photo set. The expense is at classification time, not search time. Classification was a few hours on that, so, not convenient if you're staring at it and wanting to play with it instantly, but it's not like it took months or something either. Of course if you've got 100,000 photos it may be some days for an RPi, but it's still just something you can let it crank away at, it's not like you have to stare at it while it happens.
undefined
rustyminnow
How do you expose the service for your SO when away from home? Do you use tailscale/cloudflare tunnel/vpn? public port on your router? I've been trying tailscale for myself, but there's a hair more friction than my SO would accept.
cuu508
Not op, I use cloudflare tunnel. The Immich mobile app supports "local" and "external" connection settings, so it can connect to the Immich instance directly when on home wifi, and use the tunnel when out and about.
close04
I use Tailscale for this, always connected and Immich pointing at the TS IP. I haven’t yet made the jump to full syncing, so I have a manually curated library of photos that I access anywhere but I am planning on starting to test this feature soon (I take a lot of junk throwaway photos with the phone and don’t want to sync everything). I’ll have to see how it best works for me.
But Immich is a great app, minimal to no fuss setting it up in a container on my NAS. My only potentially unfounded concern is when I upgrade the images. They changed the different component containers images over time, sometime with breaking changes. So I always half expect that an upgrade will screw up the setup and I’ll have to start from scratch with the indexing.
conqrr
Not op, but a combination of tailscale and a public VM is my setup for this. VM from oracle is free btw.
j45
Not OP, Tailscale is easiest, quickest, and free up to 100 devices as of today. It also has a feature to provide a public URL if needed, or can be run with Cloudflare Tunnel at the same time.
jcul
The only annoying thing for me with tailscale is having to have its VPN always on.
If I need to connect to another VPN or need to access some geo restricted page, then I need to disconnect tailscale.
Otherwise it's great, but I'm not sure I could convince my wife to use it.
N-Krause
As other's have already mentioned, currently I am using Tailscale. But I plan to somewhere in the future change that to something a bit more controlled by myself. Like a self hosted Wireguard VPN on some VPS.
I was also thinking about just reverse proxying my local instance to some public domain. But currently do not trust immich to be safe enough to allow for public exposure.
OptionOfT
I use tailscale with split tunneling so that traffic to the home range goes... home.
That minimizes battery impact. This missus hasn't complained. Yet.
esperent
I would love to use Immich but I'm not into running a home server - electricity isn't that reliable here and putting in backup power is more expensive than I want to pay. Also I just don't want to manage the hardware.
I've looked into cloud hosting. But of course, photos and videos take up a lot of space. Object storage is cheap but not supported by Immich. Block storage is not cheap.
I did look into s3fuse but the concensus seemed to be that lots of tiny files like thumbnails wouldn't perform well.
Does anyone cloud host it? What's your solution?
freetonik
One very easy and painless way is Pikapods (https://www.pikapods.com/).
esperent
A pikapod with 2vcpus, 8gb of ram, and 1tb of storage is $200 a year. That's not too bad, but it's the maximum amount of storage so if you need to go over that you would have to attach separate storage (if that's possible).
justusthane
Hetzner Storage Box is quite reasonable: https://www.hetzner.com/storage/storage-box/#matrix
esperent
That looks great but I'm in Asia and it's not available in this region.
moduspol
I'm kind of surprised that using object storage wasn't a first-class concern. Though I guess if running it at home was the biggest thing, that's not the top priority, but still. Using fast, cheap object stores (often with CDNs in front) has been commonplace for images, videos, and similar content for decades now. For virtually anything that uses some dynamic amount of storage based on user actions, my expectation is that I'll be able to configure it to store and fetch from S3 (or similar).
esperent
Yeah this was pretty much my reaction, and seeing that it's not supported (either by Immich or Photoprism) really made me think these projects are not for me.
privatelypublic
Photoprism shouldn't be in consideration at all. They felt the need to post in their FAQ that not checking authorization/authentication before serving photos* if directly linked is OK because its "industry standard" and (paraphrased) "difficult/impossible to implement"
* might just be thumbnails. But lets be honest- a 1/10 scale thumbnail of 40MP shot is... still a ton of detail.
sepher0
The team just announced a 1-click option on digital ocean, if you want it cloud hosted set up:
esperent
Hosting it isn't the problem. Paying for 1-2tb of storage is.
aecsocket
The cheapest possible Hetzner VPS (2 vCPU 40GB SSD) and a Hetzner storage box (1TB) works alright for cheap (less than EUR 10/mo). I store my database on the SSD, and the `/uploads` folder on the storage box attached as a CIFS drive. Put it behind Tailscale and it's worked fine for the past few months.
mlangenberg
Wouldn’t you want your photos to be encrypted at rest on the Hetzner storage box?
aecsocket
I don't really care about that, since my threat model doesn't involve Hetzner looking through my photos and training an AI model on them. If/when I move this off to my own hardware, then I'll do full disk encryption, since my threat model may involve someone stealing my hardware.
j45
Docker could be run on the VPS, and the storage leg could be encrypted.
I'm presuming some VPS providers allow converting your VPS disk image to something that supports encryption.
dddw
I actually got it working with cloud storage on hetzner. Wasn't supersnappy, but it worked. I borked the build though and am planning to run it on my home-server
esperent
I'm currently using Nextcloud Memories connected to a Wasabi bucket for photos and being "not supersnappy" is a real dealbreaker. When I scroll through hundreds or thousands of photos and have to wait five or ten seconds for each new page of thumbnails to load, then the same when I open a photos, I quickly go back to Google photos.
anttiharju
I wish it'd be easy to plug it to a s3 backend and thumbnails etc. ephemeral things could just be on disk.
esperent
Yes, that would be the obvious solution. Database and thumbnails on disk, everything else on s3.
jauntywundrkind
There have been attempts to use s3fuse like layers, but:
> NOTE: I found it too expensive in S3 requests and CloudTrail data recordings to use S3 as the backend.
https://github.com/dubrowin/Immich-backed-by-S3
They used aws's own mountpoint for this. Perhaps s3fs with it's caching could do better? Ideally someone would make an object store fuse driver that caches the whole file tree & metadata, or perhaps storing on slatedb or some such. Being able to tune the local file cache would also be important: maybe maybe maybe s3fuse caching is good enough, but making sure thumbnails can cache seems super important. It would be interesting to see how immich uses the filesystem.
codethief
I recently looked into both Immich and Ente.io for syncing and also sharing photos since 1) Syncthing has been rather unreliable for me in the last year, 2) my photo library has become too big to just sync it across devices, 3) I was never really happy with NextCloud for sharing photos.
Immich looked really nice but in the end I went with Ente because of its E2E encryption. So far I'm really happy!
idatum
In order to give Ente a try I self hosted it. It's working great. The initial interest was also E2E encryption.
The backing Minio store is on a VPS to keep it off-prem. The rest (front end UI etc) I host in my home and use the same VPS as a reverse proxy.
Right now I don't share with anyone else, but use it to get photos sync'd off my phone and shared with my own desktop/tablets.
I'm sticking with it and my family is interested in using as part of degoogle'ing. So I eventually will pay for it for a way to better share photo albums (i.e. too many photos to just share over Signal).
wonger_
How has syncthing been unreliable for you? Curious as I was going to start using it more. Was it something about large files or many files?
barbazoo
Not op but personally I don’t really trust syncthing on iOS. Something about how Möbius sync works on the apple OS makes it so occasionally my folders disappear locally on my phone, triggering a deletion on all other devices.
codethief
It used to work very reliably for many years and I used it for pretty much everything (photos, ebooks, notes, Signal backups, …). However, last fall it simply stopped syncing (traffic at 0 B/s) in 90% of the cases, no matter the file size, even though my devices see each other and Syncthing recognizes that files are out of sync. I have already reset and reinstalled Syncthing various times – no idea what's going on.
My gut feeling says that it's the Android client[0], but I'll have to find the time to look into this more closely.
gausswho
I've also encountered this periodically and the way I've gotten things back to normal was to 'reset database' in Syncthing-Fork's troubleshooting settings. Is that what you meant by reset?
dd_xplore
I think it's better to use immich with tailscale
aanet
Previously:
1 year ago: https://news.ycombinator.com/item?id=40563541
1 year ago: https://news.ycombinator.com/item?id=40772809
3 years ago: https://news.ycombinator.com/item?id=33159796
7 months ago: https://news.ycombinator.com/item?id=42984617
4 years ago: https://news.ycombinator.com/item?id=30537564
1 year ago: https://news.ycombinator.com/item?id=39731179
dang
Thanks! Macroexpanded:
Immich Progress Update [July 2024] - https://news.ycombinator.com/item?id=40859102 - July 2024 (5 comments)
Immich – Self-hosted photo and video management solution - https://news.ycombinator.com/item?id=40563541 - June 2024 (5 comments)
AGPL Self-hosted photo and video management solution (Docker + iOS/Android) - https://news.ycombinator.com/item?id=40030151 - April 2024 (3 comments)
Immich is changing its license from MIT to AGPLv3 - https://news.ycombinator.com/item?id=39336890 - Feb 2024 (46 comments)
Self-hosted photo and video backups directly from your mobile phone - https://news.ycombinator.com/item?id=36673224 - July 2023 (344 comments)
Immich: Self-hosted photos and videos backup for Android and iOS - https://news.ycombinator.com/item?id=33159796 - Oct 2022 (1 comment)
yboris
Humbly sharing my own project: Video Hub App which lets you browse your videos in an elegant infinite scroll gallery with various ways of searching, filtering, and tagging. Only local - nothing goes online with my app.
https://videohubapp.com/ and it's open source: https://github.com/whyboris/Video-Hub-App
atentaten
Looks nice. Does this allow the export of the organizational and meta data?
yboris
The "hub" or database / save file has extension `.vha2` but it's a simple text JSON with this format:
https://github.com/whyboris/Video-Hub-App/blob/main/interfac...
atentaten
Cool. Why not an embedded player, it would make browsing much faster than opening opening up the default system player?
javipas
I've been using it for a couple of years and I find absolutely stellar. I wrote the (quite long) of my process to find the perfect alternative (for me) to Google Photos, so in case anyone's interested
https://medium.com/@javipas/thats-how-i-ve-replaced-google-p...
lbrito
Google Photo's sneakily imposed storage limitations a few years ago, after a long time advertising "unlimited" storage for standard quality photos. The constant bitching that I was almost out of space, and the wasted time in an effort to free up space, were what pushed me to finally look for a self hosted solution.
I've been very pleased using immich for about a year now.
mschild
Highly recommend [0]selfh.st if you are looking for software to run locally. Its a maintained directory for open and closed source software.
atentaten
The colors of the select box text (Tags, Alternatives, Sort, Search) are the same (or very close) color as the background making them unreadable.
brovonov
I think that has fixed, they appear as two contrasting colors for me.
oceanhaiyang
Don’t support their fake use of RSS
andreldm
Any opinion on why Immich instead of Photoprism? I’m considering to pick one of them for my media library and Immich not being labeled as stable scares me a bit.
gh02t
IIRC, Immich started as a project after Photoprism changed their licensing to restrict several features, and then picked up a ton of momentum very fast. They've pledged they won't ever pay-gate features, which isn't always a positive as those features help sustain a project long term, but they have so much community support and love that I'm not worried about that in this case.
Feature wise I think they are pretty comparable (vs the paid version of Photoprism), and I like the UI of Immich slightly more. Immich also supports singe sign on via OIDC easily, which I rather appreciate so my family doesn't have to remember 10 different passwords.
Regarding stability it's actually pretty reliable. I've been running it for a long time via Docker in the form of the TrueNAS plugin and have never had any issues, like ever, so I think it being marked as unstable was a bit overly cautious. I think they have also recently moved to a new phase of development that is also going to be even more stable. Even if it does break, all of your media is stored in a nicely organized directory structure on the filesystem so you're not going to lose anything.
bo0tzz
> Immich started as a project after Photoprism changed their licensing to restrict several features
It didn't, that's just a timing coincidence. Immich was started because none of the existing projects offered the google photos-like experience.
gh02t
Fair 'nuff, my memory is a bit fuzzy as that was a while ago. That was definitely part of the reason it got so much initial momentum, however, even if it was just a coincidence.
rickdeckard
I tried both ~1,5 years ago, Immich won the "spouse test" as I could get my partner to use the app on her phone (with her own profile) instead of the native gallery.
Photoprism didn't support profiles or have an app (back then at least, don't know about today), and I couldn't convince her of using some other gallery in the browser...
I for myself liked the Photoprism GUI, but I could never get the face recognition to work well, and manually tagging people/places (or basically doing anything) on thousands of pictures was quite painful.
krs_
Also interested in this. I've been running photoprism for several years now using their docker image and don't really have much to complain about but always open to other alternatives.
One thing Immich supports which Photoprism doesn't is multiple user accounts. That doesn't really bother me too much but it's a pretty big advantage.
Edit: Actually one thing I can complain a bit about is the object recognition accuracy. Face recognition I think works decently enough but objects are frequently not identified in my photos. How's Immich in this regard?
kevincox
I was using PhotoPrism for a few years and switched over to Immich and am very glad I did.
- There was no good mobile backup story. State-of-the-art was WebDAV sync and import delays which would truncate files and other issues on back connections. It also made deletion risky.
- The UI had lots of things that felt very opinionated for a very specific workflow that seems niche. Things like auto-adding generated titles and other things.
- The face recognition is much worse, especially for non-white faces. Even detection didn't seem to have a good setting that would reliably identify what is a face without way too many false positives.
- Immich's semantic image search is way better than what was on PhotoPrism where it seemed to just find a few tags.
- PhotoPrism had lots of UI quirks like the persistent selection that almost never worked how I wanted it to.
Lots of other odds and ends as well. There isn't anything that I actually miss from PhotoPrism.
crtasm
Photoprism is lacking batch edit for tags/metadata https://github.com/photoprism/photoprism/issues/271
hrdwdmrbl
I personally use Photoprism, though I don't love either.
Both still feels like the sad-er side of open-source WRT polish - stability, reliability and ease-of-use.
I would be willing to pay for something great that I can self-host, but sadly nothing truly great exists.
righthand
I just started looking into Ente which works very well but I don’t like 100MB Dart chromium app (I may build my own native frontend in iced.rs).
However I’m wondering how Immich compares it seems less interested in the encryption security and sharing aspects and more heavy on the image editor aspect.
Both are selfhostable. So it maybe an effort to migrate one day.
jazzyjackson
Immich isn't an editor at all, I don't think it can even rotate an image 90 degrees. It's very focused on having multiple users upload photos and create shared albums (public or just to other users). Doesn't do any encryption at all tho.
righthand
Perhaps I’m confusing it with another self host-able solution then.
denysvitali
Immich uses Flutter as well, fyi
righthand
There’s no escape. People just gotta write Javascript apps when we could have none.
fngjdflmdflg
Flutter does not use JavaScript, although it can compile to JavaScript. It also does not use chromium. I'm not sure why ente is 300MB but that is not standard for a Flutter app.
Get the top HN stories in your inbox every day.
I would love to give this a try but its software supply chain story seems like a car crash, with dependency bumps needed every few days: https://github.com/immich-app/immich/commits/main/server/pac...
I'm keen to use it as soon as the dependency story is mature (eg. it is packaged in Debian). This doesn't seem likely to happen any time soon.
I'm sure many people won't care about this. But for me, it's a measure of quality. I expect to be able to deploy and not worry about it, except for security updates, for at least a couple of years, preferably more. Constantly moving dependencies spidering out to a multitude of other projects, and Docker Compose, provide no such confidence.
Edit:
Ironically, just after posting that I came across this, which I think proves why my concern is warranted: https://news.ycombinator.com/item?id=45169657
Debian isn't immune to this, but it's much harder for such an attack to be successful when dependencies aren't constantly changing.