this post was submitted on 13 Mar 2026
1311 points (98.9% liked)

Selfhosted

57567 readers
1049 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
[–] Mr_Dr_Oink@lemmy.world 1 points 23 hours ago

It makes me start looking for the next thing. Got my jellyfin, got my pi hole, my retro console and just recently home assistant set up. (Just a few more buts to add to that). Next i think i am going to look into self hosting a cloud storage solution. Like google drive/photos etc. Would be nice to make my own backups and have them offline

[–] squirrel@piefed.zip 216 points 2 days ago (2 children)

Let's tinker around and accidentally break something.

load more comments (2 replies)
[–] truthfultemporarily@feddit.org 148 points 2 days ago (8 children)

Have you tried introducing unnecessary complexity?

[–] Sabata11792@ani.social 51 points 2 days 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 37 points 2 days 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 2 days ago (2 children)

“Dad, when will the lights work again?

As soon as selinux decides I have permission.

load more comments (2 replies)
load more comments (7 replies)
[–] nonentity@sh.itjust.works 103 points 2 days ago (1 children)

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

That’s infrastructure.

load more comments (1 replies)
[–] MonkeMischief@lemmy.today 22 points 2 days ago (1 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.)

https://github.com/pgautoupgrade/docker-pgautoupgrade

Or if you are on k8s, you can use cloudnativepg.

[–] damnthefilibuster@lemmy.world 16 points 2 days ago (1 children)

Backups. You're forgetting them.

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

Pro tip: If you're using openwrt or other managed network components don't forget to automatically back those up too. I almost had to reset my openwrt router and having to reconfigure that from scratch sucks.

Off topic, warning: this comment section is making me want to learn things

It's been 2 days off reddit and my brain has opinions other than "aaaargh" or "meh".

Proceed with caution

[–] Bakkoda@lemmy.world 17 points 2 days ago (1 children)

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

[–] sunbeam60@feddit.uk 10 points 1 day ago (1 children)

“Yes, while connected to my wireguard server through port 123 here from my Chinese office, I should probably try to upgrade the wireguard server. That’s a great idea!”

Ask me how I know.

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

I stopped the tailscale service...

... while ssh'd through the tailscale interface.

Luckily, it was my home server and I had to drive there anyway.

[–] Abbysimons@lemmy.world 28 points 2 days ago (1 children)

The rare moment when everything actually works. 😄

[–] kamen@lemmy.world 9 points 2 days ago (2 children)
load more comments (2 replies)
[–] HugeNerd@lemmy.ca 5 points 1 day ago

Yes that does seem to describe modern computing, indeed, consumer electronics in general.

It's no longer about solving actual problems, it IS the problem.

[–] PHLAK@lemmy.world 37 points 2 days ago (3 children)

Time to start documenting it!

[–] irmadlad@lemmy.world 23 points 2 days ago (1 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.

[–] Vile_port_aloo@lemmy.world 9 points 2 days ago (3 children)

Do you write down what you write down on the internet?

load more comments (3 replies)
[–] BuboScandiacus@mander.xyz 11 points 2 days ago

NEVER1!!!11!!

load more comments (1 replies)
[–] Prunebutt@slrpnk.net 74 points 2 days ago (7 children)

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

[–] Ek-Hou-Van-Braai@piefed.social 68 points 2 days 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 18 points 2 days ago

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

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

Now try migrating all your docker containers to podman.

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

And then try turning on SELinux!

load more comments (14 replies)
load more comments (8 replies)
[–] DownByLaw@sh.itjust.works 36 points 2 days 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 16 points 2 days 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 14 points 2 days ago

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

[–] diablomnky666@lemmy.wtf 13 points 2 days 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)
load more comments (2 replies)
[–] Hupf@feddit.org 5 points 1 day ago

No upstream bugs to fix?

[–] tal@lemmy.today 44 points 2 days ago* (last edited 2 days 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)
[–] paequ2@lemmy.today 19 points 2 days 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 23 points 2 days ago* (last edited 2 days ago) (1 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.

[–] Scrath@lemmy.dbzer0.com 8 points 2 days ago (6 children)

Not OP but a lot of people probably use pi-hole which doesn't support wildcards for some inane reason

[–] Klajan@lemmy.zip 2 points 1 day ago

It does support it, you just have to add it to dnsmasq. I have it Setup under misc.dnsmasq_lines like so:

address=/proxy.example.com/192.0.0.100
local=/proxy.example.com/

Then I have my proxied service reachable under service.proxy.example.com

load more comments (5 replies)
[–] CorvidCawder@sh.itjust.works 17 points 2 days 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)
[–] tal@lemmy.today 38 points 2 days 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)
[–] tal@lemmy.today 36 points 2 days 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)
[–] FauxLiving@lemmy.world 25 points 2 days ago

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

[–] Avicenna@programming.dev 16 points 2 days ago (3 children)

You can always configure your vim further

load more comments (3 replies)
[–] nucleative@lemmy.world 17 points 2 days ago* (last edited 2 days 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)
[–] jeffep@lemmy.world 13 points 2 days ago (5 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?

load more comments (5 replies)
[–] tal@lemmy.today 18 points 2 days ago* (last edited 2 days 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)
[–] Fedegenerate@fedinsfw.app 14 points 2 days ago

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

load more comments
view more: next ›