The only one I haven't seen mentioned here that is a requirement for me is OPNsense. I've been using it for a couple years, and pfSense before that for a very long time. Never going back to commercial routers and their shitty / buggy / backdoored software. I highly recommend OPNsense over pfSense for the UI improvements alone, but there are other reasons to use/support OPNsense over pfSense.
On my network it handles internet firewall, internal firewall, and all routing across 5 VLANs and between two internet gateways. It does 1-1 NAT for my public IPs, inbound VPN, outbound VPN for my *arr stack, and RDNS blocklists with the data source being a script I wrote that merges from several sources and deduplicates the list. It is my internal certificate authority (I don't miss you at all, Windows CA), DHCP for the guest wifi, and does pihole-like ad blocking via DNS for my entire network. And it does all that running in a VM with 2GB of RAM, of which it only uses about 60% on my install.
It is an incredibly powerful tool, not terribly difficult to learn, has a pretty damn good UI for FOSS, and in my opinion is a fantastic foundation for a complex home network / homelab. Unlike pfSense, which corrupted itself twice over the years I ran it, it has never let me down. And every update has been painless over the years.
Eh, I've forgotten a lot of the details and it's drama that I don't care to relearn about. Easy to find online with some basic searching if you want to read about it.
It’s a VM so technically none I guess, but my hypervisor hosts have a 4 port gigabit card and a 10 gig fiber card, plus another gigabit port on the motherboard.
OPNsense is using 6 interfaces, 2 WAN and 4 LAN, but it’s all virtualized.
TechnitiumDNS which handles all of my DHCP and Adblocking in a one system, extremely capable software especially useful for SOHO too.
Baserow - Airtable alternative. It holds certain items of importance like what MAC address each device in my home network holds and what IP It uses in an intelligent view. I also was using it for a while to log issues with my sleep where I deal with insomnia, so I logged how well I slept, how many times I woke up, how long it took me to fall asleep etc. That was a simple form I created using drag/drop in Baserow and called by a URL.
OpenVSCode server - makes editing my Homepage (above) yaml and my docker-compose files a breeze! It's especially nice when you edit it something and it auto saves almost instantly. Makes some of my services change in real-time!
UptimeKuma - Simply one of the best out there for me
Gotify - I get alerted to my Tuya based dehumidifer tank being full via Home Assistant, Downtime alerts from UptimeKuma and a variety of other services which I deem higher priority alerts over "fix when you can" ones.
Aside from that, i do have other services I use every so often like Memos, Joplin Server (holds most of my notes), Pingvin and a few others.
I tried Baserow a while ago but decided not to use it because it started downloading the application after running the container and required an online account (that could also be NocoDB). How has your experience been after using it for longer?
I had to create an account as per the usual process for these types of apps, but it was all local. I never had to do one to connect to their servers. I know it generates a unique instance ID which I believe phones home to their servers but I don't mind personally.
As for my experience, a lot of it is locked behind their paid plans, so I just keep it limited to what I use which is fine. I do like it as it does better than NocoDB for my needs (the input forms is what I needed) and it does better there. I don't recall the other reasons for not using NocoDB otherwise, but it's a long while.
I'm about 99% sure it does, I don't use it that way but It does allow DNS zones. For example:
It's a lot more technical then Adguard Home for sure. Both work just fine though, I came from Adguard Home as I use a PXE server to provision some of my devices and Technitium is super easy to configure that.
Duh, you need a reverse proxy to host most of the stuff (if you want to run more than 1 service and use HTTPS). I use Traefik btw, though I heard Caddy is very easy to use.
Podcasts are my primary use case (my partner uses audiobooks exclusively), and while it works rather well, I want to put in the caveat that there's no working playlist functionality in the app, and IME headset controls don't work from FF for Android.
That's not a deal breaker for me, but it was a massive disappointment when I switched over. But the lack of playlist functionality in the app only annoys me when I want to follow one of the shorter news feeds, since I have to stop and select the next track every 5 min as the episode ends. No issue with that feed from the browser, so meh.
Works great through my reverse proxy/cloudflare tunnel setup, so not too many actual complaints.
Audiobookshelf also finds, manages, streams podcasts. After Google killed off Google Podcasts, ABS has been an even better replacement in my experience.
Depends on what your usecase is for what is "essential."
I think keeping household documents, taxes, medical bills, etc... In a local only paperless-ngx instance is quite essential to the organization of a household where everything is searchable and able to be organized on multiple levels compared to a simple document folder on 1 computer.
Having a document or self-hosted wiki with an in - case - of - death document that gets backed up in an encrypted, but accessible by family place is probably the most "essential" thing.
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.
Some WebDAV server, can be Nextcloud but actually something more lightweight is better.
Also a XMPP server is very nice to have. Even if you don't have many contacts on it (yet), it works very well has a notification service and can even be extended to act as a Unified Push distributor.
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.
Same, Syncthing is amazing. I use it with Mobius Sync on iOS and have it synching my keepass, Obsidian vault, photos, and a folder for random file transfers between devices. It’s so much better, faster, and more stable than all the most popular corporate cloud providers.
It doesn't really look dead anywhere on their repo or website: https://github.com/syncthing/syncthing
Or are there different things with the same name? :)
That would suck if so since I obviously utilize it heavily but this doesn't seem to be the case? Latest release was just a month ago and their github repo is active.
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.
Honest question, I’d love to host email but it seems like a huge pain in the ass these days with trying to keep from being delisted. Is there a decent, home user accessible email system that’s useable out there?
A decade ago it was easy and doable but even in professional life I don’t deal with email backend anymore, all google or o365.
You'll never get away from maintenance for ant service you host, and you need a VPS at a minimum to handle mail unless your ISP allows it (which they probably don't). There's going to be front loading needed in order to make sure the IP you're given isn't on blocklists, and you'll need to take appropriate measures with Apple, M$, Google, Yahoo, etc in order to send email to their domains. The good thing is that I've you do that, you'll never need to touch it again.
I personally use iRedMail because of the breadth of documentation, but mailcow and others like that are allegedly nice. I prefer the omnibus solutions because I don't care to do manual service configuration if it's not necessary.
Been doing email hosting for my domain for 25 years, 12 years with iRedMail.
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'm curious, is there a reason you use Baikal over Nextcloud for cal-/card-dav?
I would probably be happy to not have to run an additional service, so I would have to have good reasons to run Baikal next to Nextcloud.
Then again, if I had already setup Baikal and then, sometimes later, Nextcloud, There would probably be a great span where I ran both :D
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.
Pihole (if that service goes down, everyone in my house gets mad at me)
Jellyfin
Everything else is a nice to have, not essential
The arr family with a torrent client is great for feeding Jellyfin. If you are a developer, you can host your own shit there too. Game servers for playing with family and friends (so far Minecraft, Terraria, Project Zomboid, V Rising). I like to host a bunch of different telegram bots I wrote for fun. Discord bots are another interesting side. I also run some automation runners for helping out with testing, building and deploying my projects.
Focus on your needs and what you want to improve of your online life, there is probably a project you can self host for it.
(if that service goes down, everyone in my house gets mad at me)
I bought a PiZero and set it up as a redundant pihole for this reason. It's slower because it's wireless, but not super noticeable since it's 'just' DNS. I have the router pointed at the main and backup all the time and if I need to do something (or break the main one messing with dockers) there's still the backup until I get the main up.
I messed around with some High Availability configs where they both had the 'same' ip but could never get it working smoothly. I just use the teleporter functionality within pihole any time I update anything to keep them in sync, which is rare.
@bpt11 headscale is high on my list, since it enables everything else I host to be behind a tailscale VPN.
Radicale for calendar, tasks & contacts
Syncthing for file sync
FreshRSS is the best I've found for RSS
Jellyfin for media
Audiobookshelf for audiobooks (but really more for podcasts, in my case)
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
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.
Card/CalDAV baikal : so that I can sync my calendar and address book across phone, tablet, workstation, and laptop
Messaging prosody/synapse : private chatting with family.
File sync Nextcloud : for access to various files. This is the only one that has worked consistently for me. Syncthing et al would constantly lose connection and the file I needed wouldn't be there. Works fantastic for syncing Joplin notes.
VPN wireguard : to access things remotely and securely
Audiobooks audiobooksheld : I have a ridiculously large audio book library and enjoy listening to them when driving. This way I don't have to preload my phone.
Ebooks calibreweb : another large library. I have separate instances for different types: Magazines, regular books, RPG/gamebooks.
Version control forgejo : for coding and creative writing projects.
bookmarks shaarli : I find myself using this less and less. I use Firefox's built-in sync, so I'm thinking about switching to separating selfhosting that instead of shaarli.
Photos Synology : looking forward to immich getting stable. Once they get past regular breathing changes I'll move over to that.
I have stopped using most of the services that got me into selfhosting. Things like rss and wikis. I try new things from time to time but kill them if I don't find myself using them regularly or if the maintenance cost is more than the value add.