Everyone (and their mother) have been trying to convince me that I should use one of my less loaded servers to be a Fediverse node. However, all Fediverse software packages I checked only support being installed on complicated systemd + Docker machines. My servers don’t have either of those, because neither systemd nor Docker even exist on OpenBSD and illumos.
I know that it would be possible to manually install (e.g.) Lemmy, assuming that I won’t ever need official support, but I wonder why the world outside a limited subset of the Linux ecosystem is - at most - an afterthought for Fediverse developers.
How can I help to change that?
Calling Docker “modern” is a stretch, as it’s not much more than glorified Solaris Zones, but please enlighten me: Which feature of a federated web application requires modern tooling?
OpenBSD does not have jails.
How so?
Actually, not using Docker prevents a number of security holes/issues.
If you grab an image with it. You could as well just grab a tar archive with it… with less side effects.
And security patches impossible.
And yet the OS you’re using doesn’t support it. Hmm.
Sorry, I didn’t realise that these are FreeBSD-specific (I guess? I’m not too familiar with BSD)
Deployment. All web apps and APIs are moving towards containerization - Docker for smaller scale deployments, and Kubernetes for large-scale deployments.
I didn’t think jails had CPU, memory, or process limits similar to what
cgroup2
provides, but it looks like this functionality was added to FreeBSD at some point. Sorry for the incorrect information.Sure, Docker has had a few issues, but overall it’s more secure to run your apps in Docker containers. If an app gets compromised, the attacker will generally be stuck inside the Docker container rather than getting access to your entire system. If you’re worried about (very rare) container escape security holes, using unprivileged containers helps - You can run the app inside the container as an unprivileged user, and you can also run the entire Docker container as an unprivileged user on the host system.
Security patches are easier than if you used a tar archive to install the software. With a tar archive you threw into
/opt
or whatever, the app and its config/data are often stored together, so you need to be mindful of things like not overriding customized config files. Since Dockers containers are immutable and all the actual data is stored elsewhere, it’s always safe to delete the container and replace it with a patched version.