In the What are YOU self-hosting? thread, there are a lot of people here who are self-hosting a huge number of applications, but there’s not a lot of discussion of the platform these things run on.

What does your self-hosted infrastructure look like?

Here are some examples of more detailed questions, but I’m sure there are plenty more topics that would be interesting:

  • What hardware do you run on? Or do you use a data center/cloud?
  • Do you use containers or plain packages?
  • Orchestration tools like K8s or Docker Swarm?
  • How do you handle logs?
  • How about updates?
  • Do you have any monitoring tools you love?
  • Etc.

I’m starting to put together the beginning of my own homelab, and I’ll definitely be starting small but I’m interested to hear what other people have done with their setups.

  • I’ve got a mix of hosting environments personally. A dedicated box hosted with Hetzner (their auction prices can be pretty decent) plus a Pi 4 and an old NAS for internal services. Docker containers used for pretty much everything - mostly set up with a big ol’ /opt/ folder with a bunch of service specific folders with docker-compose.yml files and bind mounts galore. Got a wireguard VPN bridging between then because that seemed sensible.

    Running Portainer for some extra management and monitoring, then a bundle of stuff:

    • Mailcow for email
    • Owncloud for for sync and storage
    • Phototropism
    • Bitwarden
    • Emby for media playback
    • NextPVR for recording
    • Private instances of Pleroma and Lemmy
    • A slightly broken telegram/grafana stack with some container monitoring stuff hooked in
    • The odd dedicated game server when the need arises … and some things I’ve forgotten about.

    Got a spare old i5 machine around set up to auto hook into Portainer if I need some extra grunt at some point, but it’s more likely to be used when I can’t be bothered paying for the dedicated box.

    Aware a lot of it’s suboptimal, but it’s easy to work with and familiar, and that’s enough to make it workable.