this post was submitted on 24 Sep 2025
150 points (95.2% liked)

Selfhosted

51838 readers
1093 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
 

Curious to know what the experiences are for those who are sticking to bare metal. Would like to better understand what keeps such admins from migrating to containers, Docker, Podman, Virtual Machines, etc. What keeps you on bare metal in 2025?

(page 3) 50 comments
sorted by: hot top controversial new old
[–] bhamlin@lemmy.world 1 points 4 days ago

It depends on the service and the desired level of it stack.

I generally will run services directly on things like a raspberry pi because VMs and containers offer added complexity that isn't really suitable for the task.

At work, I run services in docker in VMs because the benefits far outweigh the complexity.

[–] akincisor@sh.itjust.works 3 points 5 days ago (2 children)

I have a single micro itx htpc/media server/nas in my bedroom. Why use containers?

load more comments (2 replies)
[–] towerful@programming.dev 3 points 5 days ago (1 children)

I would always run proxmox to set up docker VMs.

I found Talos Linux, which is a dedicated distro for kubernetes. Which aligned with my desire to learn k8s.
It was great. I ran it as bare-metal on a 3 node cluster. I learned a lot, I got my project complete, everything went fine.
I will use Talos Linux again.
However next time, I'm running proxmox with 2 VMs per node - 3 talos control VMs and 3 talos worker VMs.
I imagine running 6 servers with Talos is the way to go. Running them hyperconverged was a massive pain. Separating control plane and data/worker plane (or whatever it is) makes sense - it's the way k8s is designed.
It wasn't the hardware that had issues, but various workloads. And being able to restart or wipe a control node or a worker node would've made things so much easier.

Also, why wouldn't I run proxmox?
Overhead is minimal, get nice overview, get a nice UI, and I get snapshots and backups

[–] possiblylinux127@lemmy.zip 2 points 4 days ago (1 children)

What hardware are you running it on?

load more comments (1 replies)
[–] LifeInMultipleChoice@lemmy.world 3 points 5 days ago (1 children)

For me it's lack of understanding usually. I haven't sat down and really learned what docker is/does. And when I tried to use it once I ended up with errors (thankfully they all seemed contained by the docker) but I just haven't gotten around to looking more into than seeing suggestions to install say Pihole in it. Pretty sure I installed Pihole outside of one. Jellyfin outside, copyparty outside, and I something else im forgetting at the moment.

I was thinking of installing a chat app in one, but I put off that project because I got busy at work and it's not something I normally use.

I guess I just haven't been forced to see the upsides yet. But am always wanting to learn

[–] slazer2au@lemmy.world 3 points 5 days ago (1 children)

containerisation is to applications as virtual machines are to hardware.

VMs share the same CPU, memory, and storage on the same host.
Containers share the same binaries in an OS.

[–] LifeInMultipleChoice@lemmy.world 2 points 5 days ago* (last edited 5 days ago) (1 children)

When you say binaries do you mean locally stored directories kind of like what Lutris or Steam would do for a Windows game. (Create a fake c:\ )

[–] slazer2au@lemmy.world 2 points 4 days ago (1 children)

Not so much a fake one but overlay the actual directory with specific needed files for that container.

Take the Linux lib directory. It exists on the host and had python version 3.12 installed. Your docker container may need python 3.14 so an overlay directory is created that redirects calls to /lib/python to /lib/python3.14 instead of the regular symlinked /lib/python3.12.

[–] LifeInMultipleChoice@lemmy.world 2 points 4 days ago (1 children)

So let's say I theoretically wanted to move a docker container to another device or maybe if I were re-installing an OS or moving to another distro, could I in theory drag my local docker container to an external and throw my device in a lake and pull that container off into the new device? If so .. what then, I link the startups, or is there a "docker config" where they are all able to be linked and I can tell it which ones to launch on OS launch, User launch, delay or what not?

[–] slazer2au@lemmy.world 2 points 4 days ago (1 children)

For ease of moving containers between hosts I would use a docker-compose.yaml to set how you want storage shared, what ports to present to the host, what environment variables your application wants. Using Wordpress as an example this would be your starting point
https://github.com/docker/awesome-compose/blob/master/wordpress-mysql/compose.yaml

all the settings for the database is listed under the db heading. You would have your actual database files stored in /home/user/Wordpress/db_data and you would link /home/user/Wordpress/db_data to /var/lib/MySQL inside the container with the line

volumes:
      - db_data:/var/lib/mysql  

As the compose file will also be in home/user/Wordpress/ you can drop the common path.

That way if you wanted to change hosts just copy the /home/user/Wordpress folder to the new server and run docker compose up -d and boom, your server is up. No need to faf about.

Containers by design are suppose to be temporary and the runtime data is recreated each time the container is launched. The persistent data is all you should care for.

load more comments (1 replies)
[–] tofu@lemmy.nocturnal.garden 3 points 5 days ago (2 children)

TrueNAS is on bare metal has I have a dedicated NAS machine that's not doing everything else and also is not recommended to virtualize. Not sure if that counts.

Same for the firewall (opnsense) since it is it's own machine.

load more comments (2 replies)
[–] TheMightyCat@ani.social 2 points 4 days ago (1 children)

I'm selfhosting Forgejo and i don't really see the benefit of migrating to a container, i can easily install and update it via the package manager so what benefit does containerization give?

load more comments (1 replies)
[–] ieGod@lemmy.zip -2 points 3 days ago

You sure you mean bare metal here? Bare metal means no OS.

[–] 9tr6gyp3@lemmy.world 2 points 5 days ago (1 children)

I thought about running something like proxmox, but everything is too pooled, too specialized, or proxmox doesn't provide the packages I want to use.

Just went with arch as the host OS and firejail or lxc any processes i want contained.

[–] towerful@programming.dev 2 points 5 days ago (1 children)

I've never installed a package on proxmox.
I've BARELY interacted with CLI on proxmox (I have a script that creates a nice Debian VM template, and occasionally having to really kill a VM).

What would you install on proxmox?!

[–] 9tr6gyp3@lemmy.world 3 points 5 days ago (1 children)

Firmware update utilities, host OS file system encryption packages, HBA management tools, temperature monitoring, and then a lot of the packages had bugs that were resolved with newer versions, but proxmox only provided old versions.

load more comments (1 replies)
[–] Jerry@feddit.online 2 points 5 days ago (1 children)

Depends on the application for me. For Mastodon, I want to allow 12K character posts, more than 4 poll question choices, and custom themes. Can't do it with Docker containers. For Peertube, Mobilizon, and Peertube, I use Docker containers.

[–] kiol@lemmy.world 2 points 5 days ago (1 children)

Why could you not have that Mastodon setup in containers? Sounds normal afaik

[–] farcaller@fstab.sh 3 points 5 days ago

I’ll chime in: simplicity. It's much easier to keep a few patches that apply to local OS builds: I use Nix, so my Mastodon microVM config just has an extra patch line. If there's a new Mastodon update, the patch most probably will work for it too.

Yes, I could build my own Docker container, but you can’t easily build it with a patch (for Mastodon specifically, you need to patch js pre-minification). It's doable, but it's quite annoying. And then you need to keep track of upstream and update your Dockerfile with new versions.

[–] bizarroland@lemmy.world 2 points 5 days ago (1 children)

I'm running a TrueNAS server on bare metal with a handful of hard drives. I have virtualized it in the past, but meh, I'm also using TrueNAS's internal features to host a jellyfin server and a couple of other easy to deploy containers.

[–] kiol@lemmy.world 2 points 5 days ago (1 children)

So Truenas itself is running your containers?

[–] bizarroland@lemmy.world 2 points 4 days ago

Yeah, the more recent versions basically have a form of Docker as part of its setup.

I believe it's now running on Debian instead of free BSD, which probably simplified the containers set up.

[–] tychosmoose@lemmy.world 2 points 5 days ago

I'm doing this on a couple of machines. Only running NFS, Plex (looking at a Jellyfin migration soon), Home Assistant, LibreNMS and some really small other stuff. Not using VMs or LXC due to low-end hardware (pi and older tiny pc). Not using containers due to lack of experience with it and a little discomfort with the central daemon model of Docker, running containers built by people I don't know.

The migration path I'm working on for myself is changing to Podman quadlets for rootless, more isolation between containers, and the benefits of management and updates via Systemd. So far my testing for that migration has been slow due to other projects. I'll probably get it rolling on Debian 13 soon.

[–] 51dusty@lemmy.world 2 points 5 days ago (2 children)

my two bare metal servers are the file server and music server. I have other services in a pi cluster.

file server because I can't think of why I would need to use a container.

the music software is proprietary and requires additional complications to get it to work properly...or at all, in a container. it also does not like sharing resources and is CPU heavy when playing to multiple sources.

if either of these machines die, a temporary replacement can be sourced very easily(e.g. the back of my server closet) and recreated from backups while I purchase new or fix/rebuild the broken one.

IMO the only reliable method for containers is a cluster because if you're running several containers on a device and it fails you've lost several services.

load more comments (2 replies)
load more comments
view more: ‹ prev next ›