immich has been super simple and easy for me, haven't had to touch it since setting it up
Selfhosted
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.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.
-
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Immich and use Immichframe to cast it to a raspberry pi with a screen. That’s what I do and it’s awesome.
Immich works really well. Don’t fear the database. Docker makes it all super easy too.
Alternatively, Plex manages photos ok-ish.
I don’t understand why the OS and file system don’t constitute, themselves, a database. Over the years I have spent a lot of time organizing my photo names, folders, and labels. I want a display service that will take advantage of that, not change it, and update immediately to any changes I make to it.
They do; just not optimized for that task
I really don't want another complex service i have to manage. ideally i want something that's a simple python/perl/php script or something like that.
forgot to mention in OP but I run freebsd on my server and it's possible to run docker(podman) with linux emulation if it's very necessary, but i prefer not to use it
I hear you, I went through the same journey. After getting Immich set up, I haven’t had to do a single thing to it. There are scripts that can turn your folders into Immich albums, so I just set up the docker containers, ran the script, and watched as everything was created for me without more labor on my part.
I hope somebody else has the solution you’re looking for, but if you don’t find it, I really think you should give it a whirl because it turned out to be way easier than I expected it to be.
Immich isn't complex, and I don't think it requires a separate database.
Edit: just checked and technically it does, but if you use the docker compose then it deploys it automatically and you don't have to think about it at all.
Edit2: if you really want something dead simple, yeah you could trivially write a tiny script to list and thumbnail images. I'm sure there are apache plugins for exactly this.
it's not that the deployment process looks hard. it's an extremely complex piece of software, something that only provides "container" (read: full linux image) method for deployment because it's too complex to install manually. if something ever goes wrong inside that container, i won't be able to fix it.
It does nothing but serve photo. Background tasks are minimal and many of them only run once on new photos.
yeah, it's only job is to serve photos yet it needs a whole linux container to run.. i get why some people like it but i said it's not what i want.
I mean, you say contradictory things in your post: you don't want to manage a db, but you want to assign tags and categorize the photos, which would need a db of some kind.
If you really, really don't want a db but you want web access to your pics, just rename them so they sort alphabetically the way you want and drop them in the doc root of a www server, apache or nginx would work. Do note that you will have no sorting or tagging options, but it will be dead simple. This is what the copyparty option would give you.
Not sure what you mean about "a whole Linux container", the majority of my alpine images run in under 100MB memory and use less than 0.1% CPU, so it's not clear to me what your objection is.
You're likely not going to find something so simple and lightweight. Immich has some setup, but if you want a good gallery that's the way to go. Don't be afraid of the learning.
I feel like this is a case of not wanting to do the "difficult" thing because it sounds difficult when really avoiding the "difficult" thing is more difficult than just doing the "difficult" thing.
I was replacing the power steering rack on my P2 Volvo XC70 recently. I really didn't want to drop the subframe because that sounded like a lot of work. Eventually I realized dropping the subframe was the easier way to get the power steering rack out and, in the end, it was way easier to just drop the subframe. It was like 10 more bolts and wasn't that hard to put back. In this analogy, Immich is dropping the subframe, just do it.
no, it's more about that i don't want a separate linux installation on my freebsd server, all with its meaningless attack surfaces and such. i want something lightweight, and i specifically mentioned immich isn't what i want in the OP. yet you folks are all downvoting and trying to persuade me to try that. no, i'm not using that.
after hearing it a few times i've tried it before and it's not what i want. even ignoring the server part i hate that clunky google photos ripoff web interface.
You want a timeline feed viewable via web and an app. Immich does that. I don't get it.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
| Fewer Letters | More Letters |
|---|---|
| Plex | Brand of media server package |
| ZFS | Solaris/Linux filesystem focusing on data integrity |
| nginx | Popular HTTP server |
[Thread #110 for this comm, first seen 22nd Sep 2026, 20:50] [FAQ] [Full list] [Contact] [Source code]
You can't use immich, but you're thinking of rolling your own solution!?! What?
Another vote for Immich. Running it with docker compose is trivial. Been using it for 2 years now and it's been glorious. Running it without docker would take more setup, not sure how complex.
I don’t want to run a separate database or anything complex, so things like Immich or Photoprism are not an option.
Why not just use podman and let it handle itself? Unless you're planning on hosting like maybe several million photos, I doubt you would ever need to manually set up a DB.
Just download the compose file, add your photo directory paths to it, and let it start and never think about it again until you feel like updating for some new feature months later.
I recommend Ente, they have a self-hosted option. https://ente.com/
Any reason to pick this over Immich?
I've never used Immich so I can't speak for or against it. When I started down the selfhosting road, I found Ente first, that's all.
That's a bit odd considering how much more popular Immich is, but ok.
PiGallery/PiGallery2 , Photoview, HomeGallery, lychee, or thumbsup might be up your alley.
Personally I use Immich and ImmichFrame.
PiGallery is what you're asking for, but you should consider Immich, it's very simple to setup and you'll get tons of features more that are extremely useful. I get you want something simple, but I don't feel Immich is hard to setup or maintain, and it's the difference between a simple photo gallery and google photos.
I have a use case where I use Next Explorer to share some directories with photos in them for others to see online. Clean, simple UI and no database, it just indexes your directories. PWA works well on phones.
It does run on docker though (like many, many foss apps). 🤷

I've been using PiGallery2 for this https://github.com/bpatrik/pigallery2
But I do deploy via docker.
Here to suggest piwigo. Use it with docker, zero hassle but I think it does depend on a database, so it might be too heavy for your use case. Supports tags & galleries.
It looks like every reply in this is a near miss so I'll add another one to the pile: I've been working on a hosted immich platform for people who want privacy from big tech and don't want to / can't self host it at https://photos.minpin.me/
You can try Sigal or Piwigo.
I refuse to use Docker to install applications, so Immich was also a no-go for me. I settled on using Photofield, it's been pretty great: https://github.com/SmilyOrg/photofield
If you're using Arch, Immich is in the AUR, that's how I'm running it bare metal.
I run Debian on my VPSes. But, also, I've been through the path of doing what the PKGBUILD does, which is read the Dockerfike and manually execute the steps: I think it's pretty problematic to have to do that every update cycle. Got Immich set up, looked at what I'd have to do every time I want to run an update, and "nope"d out.
With server side software like this, which will usually be running behind a reverse proxy and will connect to a postgres dB (or other services like Redis), I kind of don't want to fight the software/make guesses to create these connections. I also take umbrage with the nginx proxying "example" configurations - just tell me what needs to be proxied to where and let me handle the rest; it's a server, you don't know my setup. Case in point, I don't use nginx.
I like photofield because it's a single binary (thanks, Go) listening on a port. I proxy what I need to it, and let it run.
Final note: I'm not knocking Immich, or the people who run it. I just think it's lazy to distribute software with Docker because it encourages devs to write what I consider to be poorly designed software (E.g. Software with hard coded paths as strings, because everything is expected to be in the same place on every system - basically very rigid defaults). As a guy who knows his systems well, it annoys me I can't manage them my way and need to run a nebulous docker container set up by some web developer. (some shade thrown there, my bad)
You don't have to agree with me, I'm Don Quixote and this is one of my windmills.
Yeah, I get it. I do think containers encourage lazy integration - could be hard coded paths, or things like leaving apt in there, so no worries.
I have no experience with it, but my questions along a similar vein point to DigiKam.
i have used DigiKam in the past, it's more of an alternative to XnView not a selfhosted gallery.. it doesn't even support mobile phones or web