view the rest of the comments
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I've been self-hosting since before docker and containers were a thing, and even though Nextcloud kinda pushes their container images these days, I still refuse to use them, and use the community archive releases or web installer when reconfiguring my system or setting up a new system to migrate to. Maybe it's just Nextcloud and the other software I use, or maybe it's just that I'm not really trying to build scalable server infrastructure with a lot of users, but I generally find that docker causes more problems than it solves, and it does my head in when I see projects that recommend containers as the primary suggested install method.
Totally agree with your assessment of the plugins/apps systems. Feels like you need to stick to official "apps" and hope they don't get abandoned to have anything close to a good experience because even minor updates can break all the 3rd party apps because of a compatibility check, where you end up waiting for the app developer to release an "update" that only changes the version compatibility number.
Containers are very useful because they isolate the application from the rest of your server.
This solves a lot of problems: no dependency conflicts with your operating system, you can upgrade/downgrade any time you want, no state gets stored on your main system which makes resetting the application when it misbehaves as easy as deleting and recreating the container.
Before containers, changing my host OS (e.g. because ZFS wasn't properly supported on the distro I was using) meant reinstalling and configuring a lot of shit, which could take days. With docker, I can migrate in 1-2 hours... Just install docker on the new OS, copy over the files, docker compose up a few times and done. The only things left to setup are samba, ssh and a few cron jobs.
Not saying there aren't any benefits to docker, migration to a different host distro and dependency conflicts are the big two. But for me they are kinda the only two, I find for what I do it's just as easy to write a shell script that downloads and unpacks software, and copies my own config files into place than it is to deal with basically doing the same thing, but with docker. I could use ansible or something similar for that, but for me, shell scripts are easier to manage.
Don't get me wrong, docker has its place. I just find that it gets in my way with it's own quirks almost as much as it helps in other areas, especially for web apps like Nextcloud that are already just a single folder under the web root and a database.
One additional benefit I get from not using docker, is that I can do more with a lower-powered server, since I'm not running multiple instances of PHP and nginx across multiple containers.