Fediverse friends and acquaintances:
when self-hosting a service, what do you prefer?

I need your help to improve the developer experience (DevX) of #badgefed. #fediverse #askfedi #mastodon #activitypub

native binaries on your Linux box
18%
Docker containers
39.6%
system packages (apt/dnf/pacman)
37.6%
scripts that install everything, idc what
4.8%
Poll ended at .

@mapache It probably depends on the dependencies?

If the app relies on external services like PostgreSQL or Redis, Docker images with Helm charts or Docker Compose configs might make sense—they bundle the complexity nicely.

For standalone apps, system packages (deb/rpm) would be nice in theory, but I imagine maintaining packages for multiple distros is quite a bit of work. Maybe a practical middle ground could be: provide packages for the major families (RedHat + Debian) and offer a single-file executable as a fallback for everyone else?

Personally, I tend to avoid install scripts when possible—they feel less transparent to me, though I understand others might feel differently.

@mapache I am system packages. Once you have those, a Docker container with you base OS of choice is easy. Distribution independent binaries are tricky, you end up with LD_LIBRARY_PATH tricks or statically linked binaries. Not a fan.
@mapache system packages or binaries I compile myself if unavailable
@mapache since my #homelab is already all Kubernetes, a container is my preferred package format. Many #selfhosted friends use containers as well (k8s sometimes).
@mapache apk, xbps and pkg missing from the list
@mapache Native system packages, please. I don't need 15 outdated copies of openssl in my containers. :S
@mapache i absolutely detest docker. it’s resource hog.
@mapache I voted Docker, but my real answer is source code, that I run in containers from images that I build myself.
@mapache Clear, platform-independent build instructions and dependency documentation. And for the love of $deity: not everything's a Linux. #RunBSD

@ltning @mapache +1

If a project has Docker as their only way to run the service, I assume it is not designed to work anywhere else and move on without second thought.

@mapache Lightweight *multi-arch* container image (not based on a full Linux distro).

But not as the single supported install method.

@mapache Only "system packages" offer a standard way to keep the service up-to-date, AFAICT. And running outdated services tends to be a security risk.
Am I missing something?

@mapache

[x] YunoHost package

@hook what is this yugo thing, now my curiosity has been triggered, @_elena talks about it all the time

@mapache

Tech-wise it’s essentially:
- Debian ((old)stable)
- for webapps has its own shell-based packages
- each webapp runs as its own user instead of fullblown containers
- comes with LDAP for (vritually) everything
- comes with a properly set-up e-mail server
- Let’s Encrypt automation
- CLI and WebUI for easy administration and maintenance

@mapache … but more importantly what YunoHost does from a end-user/admin perspective is just make things super easy.

As an example:
- add domain: e-mail gets set up automatically for all users, SSL automated, DNS entries suggested (or uploaded)
- install Nextcloud – one-click install sets up everything, including shared folders, users/LDAP
- install Prosody – one-click install, sets up XMPP for all users (LDAP = same auth)

Perheps @_elena can expand on this too.

@mapache

(cont’d)
- install Callibre-Web(-Advanced) – one-click install, all users (again LDAP) have access to ebooks in the shared folder, each user gets access to their books in their own ebook folder – both can be reached through Nextcloud and therefore WebDAV as well
- install Navindrome - one-click install, similar access to music streaming as above for books

It is just an extremely easy to set up and maintain system that can run even on an R-Pi.

@_elena

@hook @_elena oh wow! I will play to put one this weekend!