6 ms·
> there's no good reason for an app like this to require docker. Well, there is a good reason. To make the install more simple. IMHO containerization makes sel
by FireInsight 3y ago
> there's no good reason for an app like this to require docker.
Well, there is a good reason. To make the install more simple. IMHO containerization makes selfhosting way easier.
- kunwon1 3y agoI 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.
- r_p4rk 3y agoCan'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.
- kunwon1 3y agoSure 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) [1] https://github.com/photoprism/photoprism https://github.com/photoprism/photoprism
- j1elo 3y agoThat Dockerfile doesn't seem to do anything because it inherits from another container that probably has more interesting stuff in it. In any case, I found this in the docker/ subdirectory (if it was me I would have put it in the main README): https://github.com/photoprism/photoprism/tree/develop/docker#building-from-source https://github.com/photoprism/photoprism/tree/develop/docker... 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
- kunwon1 3y agoI found this too. They mention this: 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
- j1elo 3y agoAnd 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. For example, for Ubuntu 20.04: https://github.com/photoprism/photoprism/blob/develop/docker/develop/jammy/Dockerfile https://github.com/photoprism/photoprism/blob/develop/docker...
- cvwright 3y agoThis is why I like https://github.com/mother-of-all-self-hosting/mash-playbook https://github.com/mother-of-all-self-hosting/mash-playbook and its associated Ansible roles for configuring various services. All the portability of Docker, plus (something close to) the ease of use of installing a distro package like an .rpm or .deb.