Hi all!
I’d like to share some slow, but steady progress I’ve made on my self-hosted personal photo gallery - a Google Photos alternative. It’s been a while since I last posted any updates - the last time was about v0.9.2 on /r/selfhosted, so it’s actually my first post here.
What’s new?
Lots of things! Here’s a quick summary:
- New website! photofield.dev - bonus, it’s embedded in every install, in fact, even the website is just hosted from the app itself. 😎
- UX polish - lots of small improvements, like better interaction & fixed video controls and better error messages & autoreloading config.
- Zoomier than ever - since v0.15.0 when you zoom into a photo, it zooms the whole scene! This wasn’t the case for a few versions due to a technical detour, but I found a way to get it back without too many compromises.
- Related image search - you can Find Similar Images now, using the same AI functionality as the semantic image search.
- Map view - you can see your photos on a map. Still has some quirks, so make sure to zoom in first. To be improved.
- Reverse geolocation - you can see the location of a photo in the timeline view. Completely local, using tinygpkg.
- Tags (alpha) - you can tag your photos now. Quite basic for now, but should be a good foundation for things to come.
- ARM Docker images - since v0.14.1 the published Docker images are multiarch - x64 and arm64, including photofield-ai. Makes it possible to run on cheaper, ARM-based servers, and faster on M1/M2/M3 Macs.
Show me the demo
Now hosted on Hetzner’s arm64-based CAX11 - 2 vCPUs & 4 GB of RAM - the cheapest one.
The photos are © by their authors. Since migrating to the CAX11, it only uses one size of internally pregenerated sqlite-based thumbnails, taking up roughly 4% of the disk space of originals. Support for Synology Moments thumbnails is still there, but doesn’t seem as crucial as before.
How do I try it out?
It’s very low commitment, a single executable or Docker image that you can mount with read-only access to an existing file structure, see Quick Start (also on GitHub if the website is dead).
Another one??? Why?
It’s a conspiracy to increase fragmentation and increase shareholder value of big tech companies. 😄 Jokes aside, I think there is some space for a fast, self-contained, extremely easy to deploy solution. But mainly, it’s to scratch my developer itch and I get to learn new things.
Thanks
Thanks to everyone who’s been using it, contributing, and giving feedback! See also foss_photo_libraries for alternatives if this doesn’t fit your needs.
Let me know what you think and what you’d like to see next! 🙏
This looks very cool and promising.
Iove that you can deploy on bare metal, immich doesn’t allow that.
Does it support base-url? I mean can I host it on xxx.mydomain.com/gallery for example?
Thanks!
You can run it on a subdomain, e.g. photos.mydomain.com with no special configuration, but it doesn’t support subpaths, e.g. mydomain.com/gallery/
Please add support for it, it would be greatly useful
Added as a feature request https://github.com/SmilyOrg/photofield/issues/103
Wow wow! Just trying the demo out feels super snappy and good, also crazy how fast the images load compared to other solutions i’ve tried! Will defo give this a shot when available on Unraid (Unless i do it myself).
Here’s a 🌻 as my appreciation for your work!
Thanks!
Unfortunately I have no idea about the Unraid ecosystem, so I’m not sure what’s the best way to approach that. It seems like you can run Docker images, so that’s probably one way to go? Let me know if you get it to work!
There’s nothing special you need to do to support Unraid beyond providing an image.
OP is likely talking about getting it added to the Community Applications app store, but tbh if you don’t use Unraid yourself it’s probably better if someone else who does maintains the template.
Looks great, I got to admit I am a bit commited to Immich now but one cannot have too many good alternatives to fall back on if things don’t work as needed.
It’s quite impressive how much the Immich folks have achieved in a relatively short period of time! I’m glad you found something that works for you :)
Out of curiosity, what are the primary differences from Immich? I’ll be starting down this path soon.
I’d say Immich has quite a few more features, with the primary focus of backing up your media from your mobile devices with a more “managed” approach (it takes care of storing and organizing the files).
Photofield is more minimalistic (both in terms of user interface and as an application) and more useful if you have an existing directory structure that you want to view as a gallery. It also pulls a few neat tricks to make it work smoothly with up to ~600k files.
See also the linked comparison for more details. It’s mostly accurate, though video is a bit better with this release.
Do you have any plans for user Auth and uploading via the web app?
No concrete plans for auth yet, but there’s an feature request for this. I didn’t really want to give a sense of false security with a half-baked solution.
For uploading, I thought about it briefly and it could be interesting. How would you expect it to work?
I imagine you would configure a sort of a target folder structure, then it would dump all uploads based in that structure? Or fully managed like GPhotos/Immich where the app hashes, dedupes and owns the files directly? 🤔
I haven’t tried it yet, just moved and waiting for the internet to be installed.
I suppose any type of upload would work really, depends how “lightweight” you wanted to stay.
It’s just a convenience feature
Sorry if these are stupid questions.
Does this only show these foss_photo_libraries and your local photos?
Does it support jpegXL?
I’d love a seamless zoom feature for images in the browser. I use imagus but I’d love if the popup window could zoom to be bigger than the browser window.
Sorry if these are stupid questions.
Not at all! Thanks for taking an interest.
Does this only show these foss_photo_libraries and your local photos?
I’m not sure what you mean. foss_photo_libraries is a comparison table of different apps someone else maintains, but I thought it was a useful resource. The photos in the demo are a subset of the open images dataset and a couple of other samples that I picked for demo purposes.
If you install it locally you can point it to a folder and it should use each subfolder as an album, or you can configure custom albums.
Does it support jpegXL?
Yes actually, but I don’t have many files to test it, so I’m not sure how well it works. If you do I’d be interested to hear how it works for you. It uses FFmpeg to on-the-fly convert anything it can’t read natively.
I’d love a seamless zoom feature for images in the browser. I use imagus but I’d love if the popup window could zoom to be bigger than the browser window.
You can zoom by using the mouse wheel or by pinching to zoom if that’s what you mean? You should be able to zoom pretty much as much as you want. If you’re in the main view where the mouse wheel scrolls photos up and down you can hold Ctrl (Cmd?) to zoom instead.