Ideally, there’d be a simple RPM installer compatible with Alma 9 that I can point to a samba share that holds all the photos, kind of like what I do with Jellyfin. Also nice if it uses an otherwise unused port or I can easily set what port it uses.
My googling is finding a bunch of docker stuff, which always seems needlessly complicated to me vs an RPM… I’m also using a low powered x86 tiny computer to front JellyFin and would like to host this on the same computer vs needing another server.
Any ideas?
I recently started using https://github.com/immich-app/immich
It’s basically a self hosted Google Photos and it’s working really well. You can just mount your heap of photos into the container, declare it as external library and you’re good to go.
After a few hours/days of training the face recognition, extracting meta data, generating thumbnails ans possibly transcoding videos you’ll have a very responsive and easily searchable timeline of ALL your pictures and videos.
I love how they literally ripped off Google Photos’ interface, including using the same Material icons. I could navigate it via muscle memory. 😅
Something like Immich or PhotoPrism is probably the way to go.
Get out of the anti container mindset. Getting started with docker takes half an hour. You need to learn 3-4 commands to use other people’s services. Everything is easier than RPMs afterwards.
Wait, you don’t use containers?
No. We exist.
deleted by creator
They’re also useful because they’re easy to deploy, contain all the dependencies needed, portable, and isolate things breaking from affecting the host or other containers.
Containers are useful for a lot more things than scaling. E.g. portability, ease of setup, dependency separation.
The confidence with which you make this factually incorrect statement is mind bending.
deleted by creator
What are you talking about… Containers make it way easier to setup and operate services, especially multicomponent services like Immich. I just tried Immich and it took me several minutes to get it running. If I wanted to give it permanent storage, I’d have to spend several more to make a directory then add a line in a file and restart it. I’ve been setting up services before Linux containers became a thing and after. I’d never go back to the pre-container times if I have the choice.
Because it’s easier to tell someone “use this docker image” than it is to tell them “go through all of these thousands of steps to get this service working”.
The main reason I use containers for my personal things is easy to setup and to migrate, those are huge points, and the added complexity is not that much, in fact I would argue it’s less complicated to figure out why a docker image is not running than figure out why a service stopped responding.
Agreed, sure scaling is one factor, but I don’t think this person has ever really dived into why containers are slick. Why you aren’t tracking down what dependency hell caused your app to crash. Conflicting cuda versions. Two apps using the same port. Trying to decipher a language you’ve never used before
Whenever I hear “containers are too complex” or “I don’t like containers” I read it as “I don’t understand containers”. There are some real flaws to them, but no self respecting ops engineer would ever say “containers have no value beyond scaling”
This is a false dichotomy. Just because containers make it easy to ship software, doesn’t mean other means can’t be equally easy.
NixOS achieves a greater ease of deployment than docker-compose and the like without any containers involved for instance.
NixOS packages only work with NixOS system. They’re harder to setup than just copying a docker-compose file over and they do use container technology. If the idea is to remove complexity from the setup, NixOS goes in the opposite direction.
Also without containers you don’t solve the biggest problems such as incompatible database versions between multiple services.
I stand by what I said, I can give a 2 step tutorial on setting up any docker system (copy this compose file, run up on it), anything simpler than that wouldn’t be as robust in terms of configurations.
NixOS packages only work with NixOS system. They’re harder to setup than just copying a docker-compose file over and they do use container technology.
It’s interesting how none of that is true.
Nixpkgs work on practically any Linux kernel.
Whether NixOS modules are easier to set up and maintain than unsustainably copying docker-compose files is subjective.
Neither Nixpkgs nor NixOS use container technology for their core functionality.
NixOS has thenixos-container
framework to optionally run NixOS inside of containerised environments (systemd-nspawn) but that’s rather niche actually. Nixpkgs does make use of bubblewrap for a small set of stubborn packages but it’s also not at all core to how it works.Totally beside the point though; even if you don’t think NixOS is simpler, that still doesn’t mean containers are the only possible mean by which you could possibly achieve “easy” deployments.
Also without containers you don’t solve the biggest problems such as incompatible database versions between multiple services.
Ah, so you have indeed not even done the bare minimum of research into what Nix/NixOS are before you dismissed it. Nice going there.
as robust in terms of configurations
Docker compose is about the opposite of a robust configuration system.
Sure, let’s add another layer of complexity for the user to set up their network, storage, and other external resources
And then users go to lemmy and ask for a software that is compatible with Alma 9 instead of getting a single docker-compose.yaml file and running
docker compose up - d
Containers have numerous other benefits. Checkout this blog post, it goes into some of them:
deleted by creator
If you’re talking about k8s or similar, the initial time investment is heavy. After that though, it’s not very hard to get containers running with HA, better network segmentation and compatibility across run times. Containers are a lot more portable too, and allow granular levels of isolation and security.
Also, I personally think SELinux is somewhat hard to do well.
Idea: ditch rpm and start using containers.
I don’t want a research project. I just was hoping there was an easy to use program to make the viewing better than samba shares. Maybe I just need a set of programs that will display thumbnails over samba.
Yet here you are on a research project.
Except most people will use containers because they are easy to distribute and set up. Guess you could try hosting Immich?
You should learn docker if you care about self hosting stuff though. You might lose 1 day learning the basics of docker, but the practicity of being able to spin up services just to test them it’s well worth it.
Personally I use Immich for photo management, but not sure it it’s packaged as an RPM, and even if it is you’ll need to setup the database yourself. Nextcloud also possibly works but again setting Nextcloud without containers is a PitA.
Someone asking for a service to self host that refuses to use docker is similar to a person who wants to run a server but refuses to learn CLI, yes it can be done, but you’re making your life hard for no purpose and everyone else will just give you the simple solution.
Given the very specific dependencies that Immich has wrt. the Postgres plugins it needs, I’m certain that it’s not currently packaged as an RPM and I would even bet that it never will be (at least not as one of the officially supported packages put out by the developers).
Fair enough, last time I tried docker, which was a long time ago, I had all sorts of issues with permissions and persistence. I guess it’s probably better now.
There is. There are multiple. And to install all of them it’s easiest to use docker. You won’t find any program installable via rpm.
The answer to your question you didn’t ask is: Immich if you want a full fledged photo library.
You download a
compose.yml
file and rundocker compose up -d
in the same directory. At first you have to install docker and manipulate the compose file but as you see, you don’t need a degree for docker.Selfhosting may not be your thing if you don’t like learning and researching new products.
Install docker: https://docs.docker.com/engine/install/centos/
Then running a container is just same as installing an RPM, except you don’t have to download it first. You just
docker run
the container.You can probably get regular old packages for a lot of stuff, but a lot of stuff is packaged as containers because it makes everything easier for both the maintainer and the user.
Docker (better use Podman!) Is, I am afraid, hard to avoid nowadays. I fully agree with you that bare-metal deployment should always be an option.
Its one of my biggest issues with immich/photoprism/librephotos but there is no way around that.
Immich is the only container I have on my system… A necessary evil (joking).
I know containers now, but still don’t like them too much. I am old I am afraid.
But you shouldn’t be FORCED to use containers, that’s my point.
No one is forcing you to use containers for Immich. It’s simply the most robust way to support it for the team.
You can just take a look at the dockerfiles and follow those steps on bare metal.
No, I am forced to use containers because… There are no instructions for bare-metal installation and they also do not provide any instruction on how to build from sources (and I tried…)
Also, there are no binary releases only docker-compose.
All in all, immich cannot be deployed but with containers.
No choice: not good.
Like I said, if you follow the dockerfiles you will end up with a similar result on bare metal.
It’s your own decision if you want to deviate from what the developers want to support.
A project doesn’t need to produce binary releases.
It is true that a project doesn’t need to release binaries. But either those or the instructions on how to build from sources I think are somewhat expected.
Said so, I am hosting immich on docker because, specially on such fast evolving and kind of “beta” software its by far the fastest way.
A Dockerfile itself is the instruction set. There is a certain minimum requirement expected from a server admin that differs from end-user requirements.
The ease of docker obfuscates that quite a bit but if you want to go full bare metal (or full AWS or GCS, etc etc) then you need to manage the full admin part as well - including custom deployments.
Indeed I am a quite proficient sysadmin for my home server, while not a professional one.
I didn’t consider a docker file as instructions for bare metal install, thanks for the suggestion. I am currently using podman with immich because its release cycles are too fast for me to catch up otherwise.
I am thinking to experiment with something different from immich because, while its a great tool, it’s “just” (no pun intended) a backup solution for mobile devices and I need something more than that.
I was considering https://damselfly.info/ which looks more like the workflow I am looking to implement.
The simplest option is just connect via SMB, WebDAV, NFS, etc and browse using your normal file browser.
There are a ton of various web based photo galleries: https://github.com/awesome-selfhosted/awesome-selfhosted?tab=readme-ov-file#photo-and-video-galleries
Some can be hosted on your basic Nginx+PHP+MariaDB stack which is more complex to set up, but most are going to be meant for deployment on Docker because that makes everything very easy.
What about nextcloud? With the memories app you have something like google photos with locally running face recognition and a timeline, etc etc. I really like it
i think you will like pigallery2
while you could install node via rpm, you really want to run this in a docker container
Maybe try Stash, it has gallery support too https://github.com/stashapp/stash
Also, what about jellyfin itself? It also supports photos
Testing the Jellyfin photos thing out now. I don’t know if it’s working right, but when I first looked at it the issue was I thought it seemed very video focused. I guess otherwise I’m learning docker after all.
There’s also some web-based solutions but not sure setting up a webserver is any less complicated than using docker:
https://lycheeorg.github.io/
https://piwigo.org/Alma 9