Immich vs Photoprism.
Winner = Immich
Best comparison ever
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Immich vs Photoprism.
Winner = Immich
Best comparison ever
It’s succinct. I’ll give you that!
Correct, too.
Isn't Photoprism more stable?
In what sense? Never had problems with Immich.
In the sense that immich warns not be the only way to store your pictures, while Photoprism advertises as a bug-free program, that adds new features very slowly in order to be bug free.
Maybe, but why would you store your images in only one place to begin with?
I like to have 1 folder with all my pictures that is syncthing'd to another computer and a cloud provider
Can't you just mount a RO volume to an Immich container?
Not for the pictures uploaded through the app.
Throwing another possible contender out there: Nextcloud Memories. Seems like an interesting solution if you're already running Nextcloud.
Honestly im all about nextcloud photos.
How many photos do you store there that you recommend it? Like 500? With any serious number of photos Nextcloud starts loading for minutes and the android app autoupload goes tits up.
That bug is open for years and if with so many users affected and a commercial entity behind this project nobody has fixed it yet, I doubt it's fixable without a very major rewrite.
Such a good point. I'm honestly surprised people recommend Nextcloud so frequently. I've used it in a commercial environment and it sucks ass. It broke numerous times when upgrading, it was buggy and slow. At the time their GitHub page had like 4k open issues and another 8k closed. Looks like it's somewhat better now. Many of issues we've experienced were reported but no movement for years. It's like least stable OSS I had dealt with.
Exactly, same here. Nextcloud is the only container for which I disabled auto upgrades, because I don't always have 8 hours to deal with the aftermath.
With any serious number of photos Nextcloud starts loading for minutes
What is this serious number you have in mind? I'm the first one thinking that some of the design choices behind nextcloud are laughable, and that their attitude towards code quality and best practices is inadequate, but even then I don't think this threshold is easily reached.
Well. It just stopped working after the 2k items mark for me. Had to increase php memory and all for almost 6GB to make it work. Still sluggish AF. It’ll be just my file bucket for now on. EDIT: I will like to add, Immich is now with 32k assets for me, working flawlessly and only using 300MB when active of memory.
I am about 3 orders of magnitude beyond you in terms of content, and I host that on 2GB RAM and a CPU that scores 440 on CPU benchmark.net . You might want to check your configuration, perhaps starting from the database (I use PG), then server (php-fpm). I don't even use redis for caching, just the basic APC.
Great to know! Something is really odd on my instance. The DB is definitely working well on its own, all the queries are returned quite fast from what I gather on the monitoring side. Probably something odd on the server side. I'm using redis for caching, it helps a bit as it comes down to a halt without redis.
Nothing reported in the admin screen listing out config tips and missing indexes?
Some people have luck like this and guess they're the ones advocating. I first had a hand-installed instance with all the recommended optimizations like Redis, and then I started fresh with Docker + Redis. In both cases, after 10-15k files it was extremely slow. Both on server hardware with plenty of RAM.
To be totally fair, in my long history with it, I've been complaining more about the bad performance of nextcloud than the opposite (I still do), but things improved quite significantly after I moved (a long time ago) to postgresql+pgbouncer, which made it acceptable. Tuning did the rest.
There can be several reasons why your experience with nextcloud is not optimal. For instance, if you have a slow mechanical drive and a weak 2-cores CPU like I do, it's enough to hit a large folder with many pictures for the first time to have it grind to a halt: the server will become IO and CPU starved while php-fpm fork bombs (on a default config) way too many imagemagick processes to render miniatures of the photos, which, when those are large, will make sure to eat the little amount of RAM you had left, further pushing you into swap and memory-compression territory, making things even worse IO & CPU-wise. This is easily mitigated by rendering the miniatures asynchronously via a cronjob and making sure that there is a reasonable limit to php-fpm's parallelism to keep your app, navigation and overall system responsive.
Honestly, this is basic sysadmin/tuning stuff, that only you (with the knowledge of your hardware) can do right (and should do, the reward is immense). And it might very well be that nextcloud is (much) more demanding than other apps due to its inherently bad design & stack. It does the job, though, and isn't afraid of taking hundreds of thousands of files.
I've got the cron job and used Postgres in my previous instance. Limiting fpm concurrency is good insight, Ihavee not done that.
But do you know what works without all that and loads instantly? Photoprism.
Fair. Like I wrote previously (either here or in another thread) it's likely that most self-hosters would at some point consider nextcloud given how versatile it is, and then it pays-off to tune for your config. If you do without, good for ya!
I've got something in the region of 80gb of jpeg and raw files.
Probably 8000-9000 photos.
Yeah syncing from my phone was a bear, but I just let it run overnight.
Also not using iOS for what it's worth. iOS is a shithole when it comes to overaggressive battery optimisation.
Both great projects I would also put librephotos to the equation with its feature rich unofficial android client Uhuru photos
All have great android apps and great Dev base
Have tried all three and also tried every other selfhosted image gallery
Photoprim is overall the most mature and complete in features
Yes it requires a third party app to sync your assets but the auto index feature if you sync to their webdav endpoint is killer. This means the proccess from the moment of taking a picture till it shows up in your photoprism gallery is "instant"
Also the unofficial android client is super great and almost android TV compatible
So
To be honest there is not a fair answer You really have to hey them all
:-)
What are the great android apps for photoprism? Last time I looked there were two unofficial ones which were both not great and neither allowed you to upload from.
https://github.com/Radiokot/photoprism-android-client
Is under partner apps
https://www.photoprism.app/partners
You can only upload from the pwa
Partner app photosync syncs with "import" folder which is a webdav endpoint photoprism exposes
I use foldersync for sync
I would vote for Immich. It has more features (mobile app with automatic backup), and seems to use less resources on the server side.
I've been using PhotoPrism for the past couple of days and have really liked it.
I was considering Immich, but the rapid development cycle turned me off of it for now. I don't want to have to deal with keeping up with patch notes and potential breaking changes. Immich also seems more focused on photo backups from your phone, which isn't quite what I wanted. PhotoPrism just let me upload all my existing photos on the web ui.
I'd say give both a try. Both provide a docker-compose file, so you should be able to bring them up fairly quick.
Immich without a doubt
Photoprism better for single user. More stable, prettier, more free license.
Immich has support for multiple libraries, and sharing with your other users. Immich has better ai tools. I'm using immich because I just had a baby and want to see the pictures my wife takes of her.
I also vastly prefer having a single, canon source of photos. I syncthing my library to my laptop for full control (and backup). It's happened before when migrating my server app that I need to reimport all my pictures into a new database. It's super easy if they're all in one spot.
When Photoprism adds multi library, I'll probably switch back. With the main reason being license.
I want to use Immich because it works and looks great, but the lack of even basic editing features (like image rotation or EXIF editor) is deal breaker for me.
I'm happy with photoprism for a single user. I don't like their subscription model, and will never pay an on-going fee. There's a chance they will move more features behind that paywall. I did pay the one-time unlock for the automatic upload companion app, but that seems like a core feature they should implement.
The biggest factor that decided which one for me all fell down to the mobile experience. I take all my photos on my phone, and I want a solution that will auto upload and allow me to browse them like Google Photos. Immich does a fantastic job with this. I haven't found a better solution than it yet
I'm sorta in the same boat as you. I run Synology all my photos and manage 5 different family members photos.
So I have different use cases for them and myself.
**For them: **They only care about the ability to see where they took their photos and its uploading correctly. The built in face detection is average at best but its enough for them to find the photo they are looking for.
They will never use the full extent of all the metadata that is available to them if I had it.
The tradeoffs are the ease of deployment and account management. I only have 5 members and if I had to teach each one which website or page to go to so they can view their images, it would drive me nuts. I simply give them credentials and a link to download from Apple Store and Playstore and off they go. New phones? No problem. Add it to their AppleTV? Don't need to bother me.
**
For Me: **
I use Excire Foto and it scans each photo and helps me manage everything with a very powerful AI tool for tagging. I use it for the majority of my photo management. The downside, its not very remote friendly. So if you're working remote, you will not be able to manage your NAS photos from afar.
This way I keep both Synology Photos and use Excire when I'm needing to do some real work.
I think I have a very comparable workflow to yours, I have a master repository of RAW+JPEG on a NAS which I index and curate from Digikam, and I export smaller/de-exified photos into topical folders for sharing with members (generally over nextcloud).
What about syncthing + pigallery2?
It uses 10x less RAM
I've been using Photoprism for a while, but found it very resource-heavy for my poor little NAS. Even after finishing ingesting my photo library, and finished tagging all the faces, it still occupies about 50% CPU routinely. However, I can't install Immich because apparently the CPU on my NAS doesn't support AVX required by typesense
..
Anyone know of some work-around?
For now you could remove Typesense from the Docker image. Just edit the .env and remove the # in # TYPESENSE_ENABLED=false
Then go to the Dockerfile and comment out the Typesense service.