this post was submitted on 13 Mar 2026
1403 points (98.8% liked)

Selfhosted

57782 readers
1011 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.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] squirrel@piefed.zip 229 points 1 week ago (3 children)

Let's tinker around and accidentally break something.

[–] wersooth@lemmy.ml 78 points 1 week ago (4 children)

and debug it until you have to reinstall your entire stack from scarch

[–] SpikesOtherDog@ani.social 41 points 1 week ago

GET OUT OF MY HOUSE!

[–] rosco385@lemmy.wtf 20 points 1 week ago

Are you implying it's possible to debug without having to reinstall from scratch? Preposterous! 😂

load more comments (2 replies)
load more comments (2 replies)
[–] truthfultemporarily@feddit.org 161 points 1 week ago (5 children)

Have you tried introducing unnecessary complexity?

[–] Sabata11792@ani.social 51 points 1 week ago (1 children)

If you know how your setup works, then that's a great time for another project that breaks everything.

[–] cenzorrll@piefed.ca 39 points 1 week ago (1 children)

Saturday morning: "Incus and podman seem interesting. I bet I could swap everything over while the family is out this afternoon"

Sunday evening: "Dad, when will the lights work again?"

[–] Sabata11792@ani.social 23 points 1 week ago (2 children)

“Dad, when will the lights work again?

As soon as selinux decides I have permission.

load more comments (2 replies)
[–] InnerScientist@lemmy.world 11 points 1 week ago (3 children)

Infrastructure diagram? No! In this homelab we refer to the infrastructure hyperdodecahedron.

load more comments (3 replies)
load more comments (3 replies)
[–] nonentity@sh.itjust.works 108 points 1 week ago (1 children)

If it’s stable, it’s not a lab.

That’s infrastructure.

load more comments (1 replies)
[–] Prunebutt@slrpnk.net 78 points 1 week ago (7 children)

When's the last time you checked if your backup solution works?

[–] Ek-Hou-Van-Braai@piefed.social 73 points 1 week ago (1 children)

But if my backups actually work then I miss out on the joy of rebuilding everything from scratch and explaining to my wife why non of the lights in the house work anymore.

load more comments (1 replies)
[–] JetpackJackson@feddit.org 19 points 1 week ago

Yesterday! Switched my media server from freebsd to alpine and got the arr stack all set up using the backup zip files

[–] halcyoncmdr@piefed.social 11 points 1 week ago

Backup? Psh... That's what the lab is for.

load more comments (4 replies)
[–] tal@lemmy.today 46 points 1 week ago* (last edited 1 week ago) (2 children)

logging is probably down

You do, of course have a dedicated rsyslogd server? An isolated system to which logs are sent, so that if someone compromises another one of your systems, they can't wipe traces of that compromise from those systems?

Oh. You don't. Well, that's okay. Not every lab can be complete. That Raspberry Pi over there in the corner isn't actually doing anything, but it's probably happy where it is. You know, being off, not doing anything.

load more comments (2 replies)
[–] Coleslaw4145@lemmy.world 42 points 1 week ago* (last edited 1 week ago) (9 children)

Now try migrating all your docker containers to podman.

[–] fossilesque@mander.xyz 15 points 1 week ago (1 children)
[–] epicshepich@programming.dev 17 points 1 week ago (14 children)

And then try turning on SELinux!

load more comments (14 replies)
load more comments (8 replies)
[–] PHLAK@lemmy.world 42 points 1 week ago (3 children)

Time to start documenting it!

[–] irmadlad@lemmy.world 24 points 1 week ago (5 children)

At 71, I have to document. I started a long time ago. I worked for a mec. contractor long ago, and the rule was: 'If you didn't write it down, it didn't happen.' That just carried over to everything I do.

load more comments (5 replies)
[–] BuboScandiacus@mander.xyz 11 points 1 week ago

NEVER1!!!11!!

load more comments (1 replies)
[–] tal@lemmy.today 39 points 1 week ago (9 children)

You have remote power management set up for the systems in your homelab, right? A server set up that you can reach to power-cycle other servers, so that if they wedge in some unusable state and you can't be physically there, you can still reboot them? A managed/smart PDU or something like that? Something like one of these guys?

Oh. You don't. Well, that's probably okay. I mean, nothing will probably go wrong and render a device in need of being forcibly rebooted when you're physically away from home.

load more comments (9 replies)
[–] DownByLaw@sh.itjust.works 38 points 1 week ago (3 children)

Have you already tried implementing an identity provider like Authentik, so you can add OIDC and ldap for all your services, while you are the only one that’s using them? 🤔

[–] PumpkinEscobar@lemmy.world 18 points 1 week ago (3 children)

Behind a traefik reverse proxy with lets encrypt for ssl even though the services aren’t exposed to the internet?

[–] DownByLaw@sh.itjust.works 17 points 1 week ago

Don’t forget about Anubis and crowdsec to make it even safer inside your LAN

[–] diablomnky666@lemmy.wtf 13 points 1 week ago

To be fair a lot of apps don't handle custom CAs like they should. Looking at you Home Assistant! 😠

load more comments (1 replies)
[–] tal@lemmy.today 11 points 1 week ago

Probably a good idea to switch over to WPA-Enterprise using Authentik's RADIUS server support and let all of the users of your wireless access point log in with their own network credentials, while you're at it.

load more comments (1 replies)
[–] tal@lemmy.today 36 points 1 week ago (2 children)

All of those systems in your homelab...they aren't all pulling down their updates multiple times over your network link, right? You're making use of a network-wide cache? For Debian-family systems, something like Apt-Cacher NG?

Oh. You're not. Well, that's probably okay. I mean, not everyone can have their environment optimized to minimize network traffic.

load more comments (2 replies)
[–] Abbysimons@lemmy.world 30 points 1 week ago (3 children)

The rare moment when everything actually works. 😄

load more comments (3 replies)
[–] FauxLiving@lemmy.world 25 points 1 week ago

The comments in this thread have collectively created thousands of person-hours worth of work for us all...

[–] MonkeMischief@lemmy.today 24 points 1 week ago (2 children)

Don't worry, you're one Docker pull away from having to look up how to manually migrate Postgres databases within running containers!

(Looks at my PaperlessNGX container still down. Still irritated.)

[–] moonpiedumplings@programming.dev 2 points 6 days ago (1 children)
[–] MonkeMischief@lemmy.today 1 points 2 days ago

I'm just using Docker on Proxmox, buuuut... I'm gonna look into this project. It looks like a LIFESAVER. Thank you for sharing this. You're awesome! :D

load more comments (1 replies)
[–] damnthefilibuster@lemmy.world 21 points 1 week ago (1 children)

Backups. You're forgetting them.

load more comments (1 replies)
[–] paequ2@lemmy.today 20 points 1 week ago (6 children)

Actually, one thing I want to do is switch from services being on a subdomain to services being on a path.

immich.myserver.com -> myserver.com/immich
jellyfin.myserver.com -> myserver.com/jellyfin

I'm getting tired of having to update DNS records every time I want to add a new service.

I guess the tricky part will be making sure the services support this kind of routing...

[–] suicidaleggroll@lemmy.world 24 points 1 week ago* (last edited 1 week ago) (7 children)

Why are you having to update your DNS records when you add a new service? Just set up a wildcard A record to send *.myserver.com to the reverse proxy and you never have to touch it again. If your DNS doesn't let you set wildcard A records, then switch to a better DNS.

load more comments (7 replies)
[–] CorvidCawder@sh.itjust.works 17 points 1 week ago

Wildcard CNAME pointing to your reverse proxy who then figures out where to route the request to? That's what I've been doing - this way there's no need to ever update DNS at all :)

I find the path a bit clunky because the apps themselves will oftentimes get confused (especially front-ends). So keeping everything "bare" wrt path, and just on "separate" subdomains is usually my preferred approach.

load more comments (4 replies)
[–] Bakkoda@lemmy.world 20 points 1 week ago (3 children)

I should do some breaking network changes... While tunneled in.

load more comments (3 replies)
[–] tal@lemmy.today 18 points 1 week ago* (last edited 1 week ago) (1 children)

You have an intrusion detection system set up, right? A server watching your network's traffic, looking for signs that systems on your network have been compromised, and to warn you? Snort or something like that?

Oh. You don't. Well, that's probably okay. I mean, probably nothing on your network has been compromised. And probably nothing in the future will be.

load more comments (1 replies)
[–] nucleative@lemmy.world 18 points 1 week ago* (last edited 1 week ago) (3 children)

Never run:

docker compose pull
docker compose down
docker compose up -d

Right before the end of your day. Ask me how I know 😂

load more comments (3 replies)
[–] Avicenna@programming.dev 17 points 1 week ago (3 children)

You can always configure your vim further

load more comments (3 replies)
[–] Fedegenerate@fedinsfw.app 15 points 1 week ago

Going into spring/summer that's ideal, I wanna go places do things. Mid winter, I'm feature creeping till something breaks.

[–] tal@lemmy.today 14 points 1 week ago

All of your systems are set up, but are they capable of being redeployed using a configuration management software package? Ansible or something like that?

Oh. They're not. Well, that's probably okay. I mean, you could probably go manually reproduce configurations, more or less.

[–] jeffep@lemmy.world 14 points 1 week ago (3 children)

Can't believe nobody here mentioned nixOS so far? How about moving all of your configs in a flake and manage all of your systems with it?

[–] FauxLiving@lemmy.world 10 points 1 week ago (2 children)

I made a git repo and started putting all of my dot files in a Stow and then I forgot why I was doing it in the first place.

load more comments (2 replies)
load more comments (2 replies)
[–] tal@lemmy.today 13 points 1 week ago (1 children)

You have all your devices attached to a console server with a serial port console set up on the serial port, and if they support accessing the BIOS via a serial console, that enabled so that you can access that remotely, right? Either a dedicated hardware console server, or some server on your network with a multiport serial card or a USB to multiport serial adapter or something like that, right? So that if networking fails on one of those other devices, you can fire up minicom or similar on the serial console server and get into the device and fix whatever's broken?

Oh, you don't. Well, that's probably okay. I mean, you probably won't lose networking on those devices.

load more comments (1 replies)
[–] Admax@lemmy.world 11 points 1 week ago (5 children)

Then it turns out your monitoring system failed and FUCK IT'S BEEN A MONTH SINCE THE LAST PROPER BACKUP

load more comments (5 replies)
load more comments
view more: next ›