Egregoros

Signal feed

Timeline

Post

Remote status

Replies

49

@phnt

>dockerslop

For interpretable programming languages (e.g. Python), non-docker setups may be too difficult to maintain so developers simply don't bother. Any OS update on the user side may break their setup. Any library update on the maintainer side may break some user's setup. It never ends.

@silverpill @phnt "here's the docker file" being the only supported method is what you end up with when linux is overtly hostile to stability and people have real work to do. companies especially just targeted cent or ubuntu lts and said good luck. nobody wants to futz with arch's rolling bullshit or various distros bikeshedding.

clean enough docker files basically are the install instructions, so there's also that.

(apptainer build scripts are literal bash scripts with some light metadata in comments.)
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@phnt I fucking HAAATE docker for this very reason. it has made lazy dev practices too convenient... they can always tell their users "oh download our docker image!" without much of any, IF any, provision for running the software standalone.

have to deal with this shit at work and it's annoying as fuck
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@phnt I was able to brute-force HASS to run standalone for a little while, but then I think they stopped even offering the sources standalone or something and I couldn't update it so I just deleted it. I only run X10 switches and dimmers anyway, and heyu from the CLI just works so whatever.
@icedquinn @silverpill You don't have to ship prebuilt binaries only, I've specifically talked about that at the end. Instead write guides on how to compile and install your project on other OSes specifically due to universal binaries being almost impossible to do on Linux. Pleroma only ships Alpine and Ubuntu (technically might run on newest debian as well) prebuilt bundles and a docker image. But it also has guides for source installs on OpenBSD/FreeBSD and previously had NetBSD as well (removed due to lack of maintenance from anybody and inaccuracies). And you can run Pleroma on Haiku, Hurd and SunOS, if you are a little adventurous.

The shipping binaries excuse is nothing more than that, an excuse. And if your project is so hard to compile manually that Docker is the only option, you've already failed.
@icedquinn @silverpill @sun That is fine as long as it is actually doable without loosing one's hair. My take in Pleroma if you want install guides for other OSes is also "PRs welcome and as long as you'll maintain it in the future". Mostly because I can't run three different instances on three different OSes and test them out all the time.
@phnt @silverpill @sun i have actually tried to do something like that in the past. some of the CIs support matrix testing.

though when i eventually return to dealing with GUIs its harder to get CIs to do that. you end up having to finagle openQA or something with taskcluster.

i'm also the blob who tends to post about coming up with fingerprint tools to check if the docs page has fallen out of date, too, so i'd be weary still.
@caohuak @silverpill This is one of the reasons why I removed the Pleroma Arch install guide many months ago :D It is simply too much of a footgun to officially support. I've seen multiple instance die from specifically this.

Rather famous example was an admin posting "Oh a new PostgreSQL version in Arch.", and 10 minutes later an error page talking about database corruption and that the instance is never coming back.
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@phnt imo the "docker slop" complaints are actually bullshit. if i have host installs, then i end up having to debug everyone's custom package manager configs and system stuff, and I already kind of do, i get issues with things like weird custom docker replacements and systems like that. All of my apps are just completely standard elixir apps that can be installed with the standard phoenix install instructions, and if anyone wants to do host installs and knows phoenix, they would easily be able to run the like 3-4 commands to get the app installed. but i don't publish those instructions because people then will want to try and install those and then i end up having to do debugging for people in the form of bug reports of "shit no worky". I already sometimes have to do that with reverse proxy instructions/networking. If big projects want to have host install instructions, I think they can be good and such, but everyone complaining about lack of non-docker install instructions when literally just opening `Dockerfile` will literally give line by line instructions of commands to run off base ubuntu or programming language or whatever images, I find is incredibly telling. People complaining about docker slop but will refuse to look under the hood of the software they run are exactly the kind of people I (and I assume) and other software maintainers are trying to filter out with docker-only instructions
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@shibao @phnt if your docker has to install tons of shit to work is it really appropriate for docker? honest question. usualyl I feel like I just want it to isolate a binary and maybe a few libs we know won't be shipped
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@bajax @phnt then don't, just treat the `Dockerfile` as an instruction list with no bullshit, just commands. i prefer that over super long winded installation scripts that need to explain all the steps instead of just giving me commands to run
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@sun @phnt there are definitely shitty docker installs that need a bajillion sidecar scripts and stuff, for sure. don't run those software because they're shit. quality devs will make very optimized, clear and simple docker images that aren't huge with unnecessary layers and bullshit. the number of docker-compose.yml files I've seen that are absolute dogshit are immediate clear signs that some of these devs need to stop writing software.
@phnt @icedquinn @silverpill @sun how do you say "i refuse to read a dockerfile and then try to translate the package commands or whatever into the OS that I'm wanting to use" and then also talk about the maintenance burden of maintaining these OS guides (not even going into all the issues where you need to debug every user's custom OS and setup quirks. they're the same problem, the lack of dockerfile instructions is the filter. I would 1000% rather inspect and use a dockerfile that is validated to actually work because people use it rather than outdated custom OS install instructions that end up not working because of updates or whatever
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@sun @phnt i mean revolt being horribly buggy microservices for absolutely no fucking reason before they gave up on allowing it to be self hosted is not a docker problem. but people treat it like docker is the problem
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@shibao @phnt I'm not gonna be able to explain to you why that's unacceptable lol. it amounts to "hassle" but I suspect you're gonna have what amounts to a moral objection to that so I'll just leave it there. (is there a way to have a patch you can set on dockerfiles so you can use automatic updates and automatically apply your changes? then you only have to get into it if you touched something that changed)

I've started using ansible to set up shit, maybe I can have an LLM routine that converts dockerfiles into roles or something.
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@bajax @phnt the whole point of docker is that it create a repeatable setup in an environment like an ansible playbook, except every time the docker image is built you're actually executing the ansible playbook and you're guaranteed to get the same thing because you're starting from a fresh instance of ubuntu or alpine or whatever the base image is from the beginning. the "hassle" is the load on maintainers that people who can't linux and expect the maintainers to do their weird custom linux admin for them

>suspect you're gonna have what amounts to a moral objection
what? this is all practical, not moral. you're the one moralizing about how a repeatable setup is bad and you won't explain why to me because you view it as "bloat" or something and want the maintainers to handhold you on making guides so that you can use your weird custom linux setup rather than using what the maintainer has decided to support for their software
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@bajax @phnt i don't get why you're shitting on this thing that you don't understand fully

>is there a way to have a patch you can set on dockerfiles so you can use automatic updates and automatically apply your changes?
yes you create a custom dockerfile that just like how the normal dockerfile starts from the ubuntu image and adds commands and whatnot for it, you just have a custom dockerfile that starts with whatever software's dockerfile you're using and then add commands on top of it, which basically amounts to you following a software's installation guide and then deciding to do more commands after you're done with it. but with docker, it's repeatable and idempotent (or supposed to be in theory at least)
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@bajax @phnt if you want to change something in the original dockerfile, just copy and paste it and then make your modifications and then ideally merge it back into the main repo or push it up on your own repo, this is the equivalent of making your own guide, but you can keep running it, when you do docker build it's the equivalent of spinning up a new VPS and doing the installation instructions from scratch automatically, and then you can run tests against it to check if it works. but then you don't have to spin up a second device with a second kernel with docker. that's it, that's all the "bloat" that everyone is complaining about
[CW]

Content warning

re: Self-hosting is dead, long live self-hosting

Show
@shibao @phnt it's a preference thing and you're trying to cast it as some objective truth that you can force people to accept if you just bombard them with more information.

I don't like not having direct access to my executables. I don't like having a central service being the gatekeeper to the environment my software runs in. I don't like having to work with those things outside of my usual environment. I don't like my system suddenly having multiple IPs that I have to manage the security/firewall and routing for (or make sure that the assumptions of the container don't fuck them up for me). it makes messy assumptions about how software even works that a lot of people think is "good enough."

docker does things I don't like. that's all.