this post was submitted on 20 Feb 2025
37 points (95.1% liked)

Selfhosted

42676 readers
621 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I run a small server with Proxmox, and I'm wondering what are your opinions on running Docker in separate LXC containers vs. running a specific VM for all Docker containers?

I started with LXC containers because I was more familiar with installing services the classic Linux way. I later added a VM specifically for running Docker containers. I'm thinking if I should continue this strategy and just add some more resources to the docker VM.

On one hand, backups seem to be easier with individual LXCs (I've had situations where I tried to update a Docker container but the new container broke the existing configuration and found it easiest just to restore the entire VM from backup). On the otherhand, it seems like more overhead to install Docker in each individual LXC.

you are viewing a single comment's thread
view the rest of the comments
[–] non_burglar@lemmy.world 1 points 1 day ago* (last edited 1 day ago) (2 children)

I use individual lxc for each docker compose so I don't have to revert 8 services at once if I need to restore.

I would also argue that an alpine lxc runs in 22mb ram by itself ... Significantly smaller footprint on disk and in memory. But most importantly, lxc can actually share memory space effectively, one doesn't need to reserve blocks of ram.

[–] sugar_in_your_tea@sh.itjust.works 5 points 1 day ago* (last edited 1 day ago) (1 children)

You don't have to revert 8 services, you can stop/start them independently: docker compose stop <service name>.

This is actually how I update my services, I just stop the ones I want to update, pull, and restart them. I do them one or two at a time, mostly to mitigate issues. The same is true for pulling down new versions, my process is:

  1. edit the docker-compose file to update the image version(s) (e.g. from 1.0 -> 1.1, or 1.1 -> 2.0); I check changelog/release notes to check for any manual upgrade notices
  2. pull new images (doesn't impact running services)
  3. docker compose up -d brings up any stopped services using new image(s)
  4. test
  5. go back to 1 until all services are done

I do this whenever I remember, and it works pretty well.

[–] non_burglar@lemmy.world 2 points 1 day ago

Oh, nice. Thanks!

This is me showing my docker ignorance, I suppose.

[–] MangoPenguin@lemmy.blahaj.zone 2 points 1 day ago (1 children)

How do you handle backups? Install restic or whatever in every container and set it up? What about updates for the OS and docker images, watchtower on them I imagine?

It sounds like a ton of admin overhead for no real benefit to me.

[–] non_burglar@lemmy.world 1 points 1 day ago

I just snapshot the parent lxc. The data itself isn't part of the container at any level, so if I bung up compose yml or env, I can just flip it back. The only real benefit is that all my backups are in the same place in the same format.

Like I'm not actually opposed to managing docker in one unit, I just haven't got there yet and this has worked so far.

If I were to move to a single platform for several docker, what would you suggest? For admin and backups?