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
If you just want LXCs, use Docker or Podman on whatever Linux distro you're familiar with. If you get extra hardware, it's not hard to have one be the trunk and reverse proxy to the other nodes (it's like 5 lines of config in Caddy or HAProxy).
If you end up wanting what Proxmox offers, it's pretty easy to switch, but I really don't think most people need it unless they're going to run server grade hardware (i.e. will run multiple VMs). If you're just running a few services, it's overkill.
LXCs are not comparable to Docker, they do different things.
It's the same underlying technology. Yes they're different, but they are comparable.
They use some of the same kernel functions but they are not the same. They are not comparable. LXCs are used to host a whole separate system that shares kernel with its host, docker is used to bundle external requirements and configs for a piece of software for ease of downstream setup. Docker is portable, LXCs much less so.
Sure, Docker is more or less an abstraction layer on top of LXC. It's the same tech underneath, just a different way of interacting with it.
If you're just running a few services, and will only ever be running a few services, I agree with you.
The additional burden of starting with proxmox (which is really just debian) is minimal and sets you up for the inevitable deluge of additional services you'll end up wanting to run in a way that's extensible and trivially snapshotable.
I was pretty bullish on "I don't need a hypervisor" for a long time. I regret not jumping all-in on hypervisors earlier, regardless of the services I plan to run. Is the physical MACHINEs purpose to run services and be headless? Hypervisor. That is my conclusion as for what is the least work overall. I am very lazy.
For snapshots, you can use filesystem features, like BTRFS or ZFS snapshots. If you make sure to encapsulate everything in the container, disaster recovery is as simple as putting configs onto the new system and starting services (use specific versions to keep things reasonable.
I think that's also really lazy, it's just a different type of lazy from virtualization.
My main issue with virtualization is maintenance. Most likely, you're using system dependencies, and if you upgrade the system, there's a very real chance of breakage. If you use containers, you can typically upgrade the host without breaking the containers, and you can upgrade containers without touching the host. So upgrades become a lot less scary since I have pretty fine-grained control and can limit breakage to only the part I'm touching, and I get all of that with minimal resource overhead (with VMs, each VM needs the whole host base system, containers don't).
Obviously use what works for you, I just think it's a bit overwhelming for a new user to jump to Proxmox vs a general purpose Linux distro.