I disagree with the contention that docker makes installs more simple. I would argue that it only makes installs more simple if you are already setup with Docker, and only when things go 100% correctly.
When I see a software application that recommends Docker for deployment, I always assume that I'm going to need to do extra work to make it behave correctly. Whether that is figuring out how to make it auto-start, or how to forward network ports, or how to share a data partition with the host OS.
Non-docker installs are simpler. At least, for my skill set.
Can't you just copy what the Dockerfile is doing bud? Plenty of home server enthusiasts love docker for the simplicity it brings to handling a bunch of software. Not trying to knock you, just wondering where the complexity is coming from for you.
Sure I can. But it's not always that simple. Let's look at the repository for the software discussed in this thread [1]
I see one dockerfile and 7 docker compose files (.yml)
The dockerfile does not apparently do anything useful. I'd be amazed if running that dockerfile by itself produced anything useful
Now, I don't know very much about docker compose, but I learned a bit of it in order to get this software running on my server. If I worked at it, I could almost certainly get a working install of PhotoPrism without using Docker, but it would be annoying work, and I wouldn't have any certainty. I wouldn't know that it was correct, and any time something didn't work the way I expect, I would worry that I screwed something up during the installation
Not to mention the added operational complexity involved in managing a dockerized application compared to managing e.g. an equivalent webapp deployed without containerization (systemd service file, configuration file, etc)
Building From Source
You can build and install PhotoPrism from the publicly available source code:*
git clone https://github.com/photoprism/photoprism.git
cd photoprism
make all install DESTDIR=/opt/photoprism
Missing build dependencies must be installed manually as shown in our human-readable and versioned Dockerfile.
I haven't been able to find any dockerfile that lists dependencies. My guess is that the documentation is referring to some prior architecture or something similar
And the word "Dockerfile" is a link to a nonexistent page... they definitely skipped their grep + sed update homework when moving things around.
Noticing the broken link points to photoprism/docker/develop/Dockerfile, I supposed they had moved it and indeed, just by going one parent up, the directoy photoprism/docker/develop/ contains subdirectories for lots of base systems, each one containing a Dockerfile that lists dependencies needed for each of them.
Well, there is a good reason. To make the install more simple. IMHO containerization makes selfhosting way easier.