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?
I wonder why the world outside a limited subset of the Linux ecosystem is - at most - an afterthought for Fediverse developers.
I hate to break this to you, but OpenBSD is an antiquated OS masquerading as a modern one, and the OpenBSD’s lack of willingness to support modern standards results in the difficulty you’re having.
OpenBSD feels like it’s been duct taped together for decades. Anything “new” seems to just be, “sorry, not possible.” The OpenBSD kernel doesn’t support WiFi 5GHz. The OpenBSD kernel doesn’t support even the minimum subset of isolation features in order for Docker to function properly. Why? Because OpenBSD refuses to add these features to their kernel. There are very likely other syscalls and basic features any given open source projects needs, even if it’s not being run in Docker, that simply could not run under OpenBSD due to the very limited kernel it provides.
You’re upset because open source projects don’t support a platform that is old and developer-hostile. Turn your frustrations on OpenBSD - these projects would gladly support OpenBSD if they could.
I hate to break this to you, but OpenBSD is an antiquated OS masquerading as a modern one, and OpenBSD’s lack of willingness to support modern standards results in the difficulty you’re having.
Ok, let us assume for a moment that “modern” is the same thing as “great”: why do people still use Linux’s terminal, which emulates an actual 70s line printer, although there have been superior input capabilities since the 80s?
That’s irrelevant to this discussion. I was talking about OpenBSD’s lack of kernel features and driver support.
As for the Linux vs OpenBSD terminal comment, I feel like you’re grasping. What does OpenBSD’s terminal to better? We have had augmentations on top of the Linux terminal for years, adding things like auto complete and syntax suggestions that the 80’s could never have dreamed of.
Docker is used by a ton of projects and makes installation very easy in most cases
I’d highly recommend moving to a different distro that has docker
There are no OpenBSD “distros” with Docker.
It’s “annoyingly hard” because you’re not using modern tooling. If Docker is unavailable on your preferred OS, then that OS is stuck in the past. Simple as that.
Docker makes it easy to install a program, including all its dependencies, in a repeatable way. Since you’re familiar with BSD, it’s similar to jails except with better isolation, fewer security holes/issues, and the software you want to run is preinstalled. Docker containers are essentially mmutable which makes upgrades easy - just throw away the old container and replace it with the new version. (persistent files are stored separately, in “volumes”)
You can of course manually install the same software by looking at the Dockerfile and manually performing the same steps, but there’s no guarantee that it’d work well on an unsupported OS.
I feel you, I tried to install lemmy on the server on which I already run 7 other services (Matrix, PeerTube, my website with rails, Mastodon, another three websites with PHP, Nextcloud, Rainloop, some static HTML websites, and probably more). It’s a really small server so not much resources left but everything is working fine sharing one instance of Nginx and one instance of Postgresql.
Lemmy also uses Nginx and Postgresql so I thought great, let me reuse those. But nope, after 4 days of trying I had to give up and get a new Server just for lemmy. I tried the install from scratch, there lemmy would just not compile. Then I tried to reuse the docker-compose but to connect the existing Nginx and Postgresql but nope, Postgresql didn’t want to work with it because of a extension which was installed but somehow I couldn’t get it to work. And then Nginx with the example config file didn’t work at all.
Anyway on the new server it almost worked, the only thing which didn’t work were the websockets because the example didn’t set up anything for them. But I figured this last part out for myself and now I have to pay 5 EUR more each month to run Lemmy.
The vast majority of servers run Linux and the simplest way to deploy services is with containers. Unix and Windows are much less supported and even running outside containers is fading away.
If you are interested, it may be simpler to spin up a small Linux VM.
Most of these projects are FOSS, so you have two options. Either ask the devs for OpenBSD support (but try installing everything on OpenBSD to see what goes wrong). Or try modifying the program yourself to add OpenBSD support.
Developers of these projects often target Linux, since it is by far the most used server kernel/OS. *BSD is not nearly as common.
The only way to potentially change that industry wide is to have enough people stubbornly use *BSD and help implement *BSD support for Linux specific tools they use.
Official support is often only provided with a docker setup as it standardizes bundled libraries and other needed blobs. This makes it easier to support many Linux distros.