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
@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 since my #homelab is already all Kubernetes, a container is my preferred package format. Many #selfhosted friends use containers as well (k8s sometimes).
@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.
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.