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!
view the rest of the comments
Unrelated but why a full VM for Linux stuff, lxc is much more efficient
I can backup an entire VM snapshot very quickly and then restore it in a matter of minutes. Everything from the system files, database, Jellyfin version and configs, etc. All easily backed up and restored in an easy to manage bundle.
A container is not as easy to manage in the same way.
How often do you do this?
How not?
If a lxc container is in a btrfs subvolume or in a zfs dataset (those are created easily like a directory, it's not a partition), you can do a full 1:1 copy in less than one second via a snapshot, keeping all the system files, database, version and configs
VMs can also be live migrated to another server in the cluster with no downtime and backups don't need to take the VM down to do their thing. If in the future you want to move to physical hardware, you can use something like Clonezilla to back it up (not needed often, but still, something to consider).
Both have their places, but those factors are the main ones that come into play of when I want to use a VM or LXC.
you can use commit, save/load, import/export for the same thing as VM snapshots
It's not the same. You then need to manage volumes separately from images, or if you're mounting a host folder for the Jellyfin files then you have to manage those separately via the host.
Container images are supposed to be stateless. So then if you're only banking up the volumes, then you need to somehow track which Jellyfin version it's tied to, in case you run into any issues.
A VM is literally all of that but in a much more complete package.
i’d consider that all a good thing, but i can also see how it’s more work
they’re supposed to be stateless because it’s easier to manage, upgrade, etc… if you don’t want that, you can just use load/save/commit (or import/export: can’t remember off the top of my head which is which) and ignore volumes: it amounts to the same thing… there’s also buildpack rebase so you can swap out the base container and keep your top level changes for quick version upgrades that are super simple to roll back
honestly every explanation probably just ends at 'this is what i learned on and it works'. same way i religiously use nano and try to do everything in bash first. or how a couple coworkers can't stop explaining their vim workflow and defending python unprompted like it's a trauma response for them. my current homelab is also running a r9 with 64gb ram and 30tb storage. if i were paying for remote hosting, still using salvaged hardware or being paid, i'd invest time learning newer processes. but containers haven't caught my interested and this set up takes basically no effort on my part to maintain, so i can focus my limited free time elsewhere.
Yeah, lots of these answers basically boil down to “when all you have is a hammer, everything looks like a nail.”
These days the hammer is usually docker/podman/lxc containers instead of VMs though. Like, you don't need a container to run a self-contained statically-compiled binary, yet people still do it for some reason.
Same.
The time it takes me to write a single function in Python is the same as writing a whole Bash-script using nano.
Also I initially set up my homelab using Docker in a VM on Proxmox. Totally useless abstraction, but I never found the time and patience to migrate the VM to bare metal.
Stronger compartmentalization