No one’s mentioned Forgejo yet? Solid git and artifact repository.
- AdGuard home (usable also as private DNS on Android)
- JellyFin
- Homeassistant
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.
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.
Adguard home
Immich (Photo backup), Vaultwarden (FOSS Biwarden server for passwords)
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
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.
I highly recommend OPNsense over pfSense for the UI improvements alone, but there are other reasons to use/support OPNsense over pfSense.
Can you list or summarize some of the other reasons?
How many NICs do you have on your opnsense machine?
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.
Second OPNsense. pfSense also is maintained by some pretty shitty individuals.
Yeah I hinted at it but didn’t feel like going into it. It’s why I switched though, and happily I found OPNsense to just be better anyway.
Pi-hole. Get rid of at least some ads on the network level. Maybe add unbound for a faster DNS response.
In terms of most used for me, it would be:
- Nextcloud: contains my contacts, calendar, and photos synced with my phone, as well as access to files on my server from any web browser.
- Home assistant: both automated and remote control of your lights, thermostat, etc.
- Audiobookshelf: only really useful if you have an audiobook collection
- Vault Warden: self-hosted bitwarden. Not really all that important to self-host, since a bit warden’s clients are open source.
- Frigate: only useful if you have security cameras.
- Navidrome: only useful if you have a music collection.
- Jellyfin: only useful if you have a movie / TV collection.
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.
Immich/PhotoPrism/whatever you use for image backup. Cloud providers are snooping through your shit.
Plex/Jellyfin for streaming
Sonarr, Radarr, Prowlarr, SABnzbd, qBittorrent to support the streaming service(s)
A reverse proxy, in my case Caddy.
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.
vaultwarden, jellyfin, freshrss, nextcloud, and wireguard
How is fressrss?
I am also running readarr and bookshelf
It’s perfect, better with themes