Tailscale
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!
Paperless-ngx
The rest is already in the other comments
In no particular order, the most essential ones are those I constantly use throughout my day and also weekly.
Proxmox holds all of these in different LXC's and VM's
- Home Assistant
- Pocket-ID - https://github.com/stonith404/pocket-id (Exclusive Passkey login system as in -no un/pw just your Passkey which - doubles as an OIDC provider)
- Homepage (By Ben Phelps of gethomepage.dev)
- Vaultwarden
- 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.
Their pricing is here: https://baserow.io/pricing
So, that's mostly what is locked behind. My sleep form I built which feeds the database:
Overall, it does meet my needs so that's all I ask. :)
Nextcloud, vaultwarden.
Arr stack plus Jellyfin/Plex, Nextcloud and Gitea.
- AdGuard home (usable also as private DNS on Android)
- JellyFin
- Homeassistant
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.
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.
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 understood some of those words. It make network go?
It make network go very good.
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?
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.
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.
Pi-hole. Get rid of at least some ads on the network level. Maybe add unbound for a faster DNS response.
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.
I used to have a Nextcloud instance on a shared webhost... It ran like shit but you can't beat the storage space... VPS storage is expensive.
Now I use syncthing on my home server
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)
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
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.
Audiobookshelf also supports podcasts (and ebooks, but I haven't tested that).
Cool, I didn't know. Going to try it out.
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.
Do you have any experience with the dedicated Audiobookshelf app?
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.
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.
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.
Immich (Photo backup), Vaultwarden (FOSS Biwarden server for passwords)
Adguard home
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.
It's not very exciting, but: Network UPS Tools (NUT).
Keep everything in good shape in the event of a power outage.
I use NUT with an Eaton Ellipse but it periodically stops working and I'm forced to restart the container