WireGuard on my VPS, because otherwise I'm stuck behind CGNAT and can't access anything in my network from elsewhere. Or Tailscale, but that's not really self-hosted.
Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
My three essential selfhosted services are :
- an XMPP server
- a CalDAV server
- a bookmark manager (Linkding)
Nextcloud.
I was hosting nextcloud at home for years. Then when I worked in a Datacenter I got to host some servers there from free so I set up a two-node proxmox with nextcloud and some other stuff. Now I don't work there anymore and I really felt the hole nextcloud left, no more notes syncing for notes, tasks, calendar, podcasts no more place to upload my photos from my phone ... So now I'm hosting nextcloud at home again.
I also host jellyfin which is nice but if I don't have it doesn't actively hamper my workflow.
Essentials? Difficult to decide, it depends on why you are even selfhosting in the first place.
At a first glance and looking at my attempt at a homelab:
- some sort of basic web service (eg.: nginx + PHP setup)
- some sort of repo manager service (I do Fossil, but I hear most people use eg.: Gitea)
- XMPP server
- Jellyfin server
- Minetest server
Tailscale
So headscale?
Pepsi or Coke?
Yes.
Honestly, I've used both. Tailscale edges out headscale by a tiny bit just because of the admin console's GUI but other than that, yeah.
Jellyfin/Plex like many have mentioned.
I personally like Syncthing for petty much everything else. For general file syncing of course. But also with Joplin pointed to a synced directory for notes. With keepass as a password vault. With synced config directories for some apps across devices like newsboat for RSS, and neomutt for email. I also used to use it with rtorrent via a watch directory, though I currently am using a seedbox for that purpose.
VPN (openvpn/wireguard) is a good idea if you want to access your services outside your local network, without exposing them all globally.
For me it's the first thing i learned how to self host: Nextcloud ...which in turn allows me to sync Joplin notes, which I use constantly
- thelounge
- git
- syncthing
I use my searxng instance several times a day.
DNS server/cache/pihole. If that goes down I can't browse anything.
I also selfhost a SaaS that I built. It's essential to me that it's available to my customers although I don't use it personally.
It's not very exciting, but: Network UPS Tools (NUT).
Keep everything in good shape in the event of a power outage.
Audiobookshelf, Calibre-Web, Plex/Jellyfin, FreshRSS, NextCloud, DokuWiki.
Gamevault: To share Games with my friend's especially modded games. Jellyfin: Sharring Movies/Series/Music Immich: Saving my Pictures Pi-Hole + Unbound: Ad-blocking
Gamevault is cool, but I wish they weren't windows-only on the client side. Lutris integration would be excellent.
Omada software controller handles my wireless access points. HomeBridge lets me control various things from my iPhone, without having to use 5 poorly-made apps.
My most frequently used are most likely vaultwarden, Memos, Trilium, Jellyfin, Frigate, Traggo, and beaverhabits. Also AdGuard and NPM but I don’t interact with them.
Oh yeah and freshrss
And! Nextcloud and Baikal. NC only for storage and Baikal caldav and carddav
I have a dedicated vm for things that are crucial to the home network, either latency-critical or network related.
That'd be my dns resolver (I enforce it over VLANs by hijacking anyone trying to do DNS to other resolvers, like random IoT devices), homebridge for less important home automaton and my own matter controller for most important home automaton (controlling the lights).
My router of choice is RouterOS in another VM. I tried opnsense, pfsense, vyatta, and a bunch of others (even a containerized Cisco route), and I settled on ROS, because it was the only one who could do IPv6 properly (apart from Cisco, but that has other issues).
For the less important things I run them on k8s and really, there are only two bits worth mentioning as essential: ArgoCD and nixhelm. Together, they provide effortless and mostly automated software updates with very easy rollbacks. I don’t have to go and manually update every single bit of software and that saves huge amounts of time.