This topic is focused on finding out what people are self-hosting at home. Anything from web servers, to bare minimal like a pi-hole server, to VPN servers, to a NAS services (samba / nfs using TrueNAS core / Open Media Vault etc.). This thread includes them all. Any small self-hosted little thing can be added here.
If you’d like to discuss your workflow too, you may. Trying to find out what’s popular with the forum members, but also getting inspired if there’s something we haven’t heard of, to spread the word about it. Of course, if you’d like to keep secret what you are hosting, just don’t include them, or don’t reply at all.
While this is a thread dedicated more to services, you may mention the OS used if you feel it’s relevant, or how you’re doing it differently that others.
I didn’t feel it was relevant to include it in the OP, I currently only have a LXD host (odroid n2+), on which I’m planning to host a bunch of things, but I’m still making my list.
I don’t have anything yet, it’s just empty, because I’ve been procrastinating for 3 years. In my last infrastructure I had:
grafana + prometheus
pfSense serving as DNS and DHCP
samba
I don’t remember anything else, it’s been a long time since I used my previous infrastructure. Now I am planning for:
git container (gitea)
postgres container (general purpose for multiple services)
CA container (probably EJBCA)
DNS container (maybe pi-hole if it’s worth the time, otherwise just unbound)
TFTP (I currently have my Pi 2 serving as my TFTP server for netboot, but I’d like to put it in a container)
some kind of monitoring system (I used to have grafana + prometheus, but I never looked into how to script stuff into it, like I used to do with Centreon’s Nagios side of things - I might install Zabbix and call it a day)
mail server - at first for internal things, but might expand it to be my public mail server (no idea what I’d be using, probably just the typical postfix and dovecot)
I’ll need a management server (maybe ansible)
k3s cluster inside LXD (just for fun)
might test other stuff, like vaultwarden (although I’ll still use keepassxc, this is just to remind myself how vaultwarden works, I haven’t used it since the bitwarden_rs days, back at my previous workplace)
List to grow, but currently I have nothing self-hosted except for a NFS server and the aforementioned tftp netboot server.
Software:
Tubesync - To download the YT Channels I love and watch them offline eg. on Vacation
Komga - To read all the comics I have on different devices
Plex - To Watch Movies on every Device also heavenly used by my Family
Code-Server - Remote VSCode instance where I do most of my Dev Work
Gitlab - Used to store Sourcecode and to auto deploy in my environment
Duplicati - Used to backup to digitalocean S3, Google Drive and local NAS
Papermerge - Used to scan all my documents (mostly bills )
Red Discord Bot - Experimenting with the Discord Awesomeness
Portainer - Main instance to see all running containers from all servers
PostgresSQL - Needed for development and for some applications
MariaDB - Needed for development and for some applications
NATS Server - Needed for development and for some applications
WikiJS - Instance is the Wiki for my personal game dev logs
Dashy - Main entry point on my home network
Traefik - Easy to use and auto configuring reverse proxy for all apps in my homelab to provide SSL via letsencrypt wildcard certificates
Node-Red - Experiments with homelab automation (eg. self build xmas town of my wife is lighted with leds and controlled via Alexa on an ESP32)
PiHole - Ad block
Home Assistant - Manage my IoT devices mostly power plugs and lights
Grafana - Server Dashboard
Gogs - Git in case I need one on a server that is power efficient
Code-Server - VSCode on a pi because its runs 24/7
MariaDB - Needed for development and for some applications
Vaultwarden - Stores all my Passwords, Accounts and SSH Keys
RabbitMQ - Needed for development and for some applications
sshwifty - Very nice SSH client in a browser
Steam-Remote-Play - To remote play games on my Tablet and Steam Deck from a bigger machine to save battery on the mobile devices
httpd: Besides some WIkiJS instances I also run some webservers to host docs-as-code wikis that contain family knowledge and the documentation for all the servers and so on
Approach:
I try to have everything in containers and (besides unraid) as docs as code often with docker-compose files and a backup mechanism for the persistent data that the applications use like the sqlite database used in the vaultwarden instance.
My Setup is also shown on YouTube if you want to have a more brief description:
Some of my Raspberry PIs:
Paperless, once I have the time/energy to actually do paperwork management
Some sort of logging/monitoring
Note-taking thing: Nothing I’ve tried really clicks long term.
Navidrome, I’ll revisit this once they get the automatic playlists UI set up, since I want to be able to easily play a folder.
Longer term:
“smart” home stuff, Homeassistant, etc
Kavita: if I can manage to figure out how to automatically copy and then mangle my Calibre library to get it to imported. Calibre-web has a really terrible web reader on mobile, Kavita’s is much better.
Firewall (pf)
blocky (because it’s much less bloated than pi-hole and adguard home)
NFS (LibreELEC clients)
WireGuard (VPN)
nginx (and Hugo)
HomeAssistant (VM, only sane way to maintain it)
Syncthing (Backups of various devices)
Samba
Netdata (I should look into integrating it into Grafana at some point)
…and some other applications on demand
Future:
Some kind of centralized RSS aggregator
Multi platform note taking framework that’s possible to package and not a trainwreck (no NPM)
ADS-B feeder for both flightradar24 and flightaware
UptimeKuma
Detailed ramblings
Forbidden router
It runs esxi7, though I might have to migrate to xcp-ng a few years down the road due to hardware compatibility issues with ConnectX3 cards…
pfsense
pfsense does the routing with 2 vCores and 2 vmxnic3 paravirtual NICs. The max routing throughput I can squeeze out of it is 2Gbps up/down at any 1 time. Might have something to do with the CPU overhead of paravirtual NICs.
HAProxy
HAProxy serves as the SSL front end for Vaultwarden, UptimeKuma and Home Assistant.
VPN
I primarily use wireguard when I’m out and about, Openconnect is really only a backup for places that block anything other than HTTP/HTTPS.
pfblocker
pfblocker runs the typical DNS block lists for ads and i also use it to geo-restrict access to ports that I port forwarded to limit attack surface.
Vaultwarden
I believe Vaultwarden need no introduction, I basically run it for myself, accessible only through VPN and on my home network.
RIPE Atlas Probe
RIPE Atlas software probe because why not? You get to earn credits to run tests (ping/traceroute, etc) on other nodes too but I rarely do that.
Home Assistant
Home assistant to log temperature and humidity data in my room and dry cabinet. Also pushes notification to my phone when the humidity in my dry cabinet falls out of range.
ADS-B
Feeding ADS-B data gives you access to pro accounts on both fr24 and flightaware, plus you get to see what’s flying around you.
UptimeKuma
UptimeKuma monitors my local self hosted VMs and internet targets like Cloudflare, Google, AWS and Microsoft.
This is really interesting and I’m finding some interesting solutions I’m gonna try really soon! Hopefully my contribution will make other users discover something interesting for them!
Here’s what I got going:
Homepage (highly suggest to check it out. Lots of cool features, on going developement, hopefully gonna last)
Nginx Proxy Manager
Uptime Kuma
Watchtower
Nextcloud
Photoprism
Pwndrop
Syncthing (redundant on a secondary Raspberry)
Firefly III (expense manager, lovely piece of software)
Fail2Ban (for more flexible rules dedicated to the containers)
Wireguard (redundant on a secondary Raspberry, thinking of switching to Tailscale. Let me know if it makes sense to switch)
Mumble
SearxNg
This is all I can do for now but hopefully I’m gonna get my hands on something more powerful to do more experiments with and run more stuff.
P.S. should I consolidate all the DBs I got going for different containers into one? I’ve been going back and forth about this in my head but I can’t decide if it’s worth saving that “power” in exchange of less reliability.
Wow, all of these replies contain something I might find a use of. I can’t wait to see more. And I’m surprised someone is running Cassandra at home, I don’t deal with backing it up often, but I kinda want to see how it works.
Reliability should be the same. You will have one database instance, say postgres, but you’d have different databases in the same instance. If one db gets screwed up, the others should be untouched (well, unless something messes with the postgres system db, then you’re screwed, but nothing should be able to gain access to that, each user should have permissions only on their own dbs).
You can just dump the individual dbs and import them to 1 instance, but I don’t remember if the users that were used to access the DBs will transfer over, I think they might be part of the system db, so (I think) you’d have to do a bit of manual intervention to allow the users access (using the same user and passwords as before, so you don’t get too disruptive with changing stuff in places other than the db) and grant them their minimally required permissions.
Then, back up your DBs often, use pg_dump on each db, instead of pg_dumpall, so you get individual .sql files for each db (so you can restore individual tablespaces instead of having to drop everything). But if you’re running all of them as containers instead of a VM, I don’t think it’s much of resource consumption. If they were all VMs, I’d recommend you switch to a single one, or at least multiple containers, if not just one container.
Anyway, I’m also impressed how many people switched to containers. Neat!
I run a dual setup, main server used to be truenas, now moved to proxmox, backup server is Proxmox Backup Server and is only turned on to do backups to
Main Server - proxmox:
VMs
Vyos - Firewall, Router
Docker
Truenas with a whole SATA controller passed through and 3x NVme devices
Various Linux test and development VMs
Windows 10 Gaming VM with a 3070Ti passed through
Services running in docker:
Technitium DNS
Git
OpenHAB (Home Automation)
Node-Red
Unifi Controller
Mosquitto MQTT Server
MySQL Database
EmonCMS (Open Energy Monitor)
Grafana
Prometheus
Influxdb
LibreNMS
Redis
Transmission
Postfix internal mail redir
Vlmcsd
Proxmox backup server
No VMs
Proxmox backup
ZFS receive from truenas
I also have three Raspberry Pis running 24x7 doing:
Energy monitoring data collection through Modbus and forward to MQTT (custom code)
Gas Burner data collection and control to/from MQTT (custom code)
UPS data collection and prometheus collector service
Stream deck Control panel to monitor IPMI/VM status and to execute basic power control functions (custom code)
Code running in Node-Red:
Sump pump monitoring and remote control through MQTT/Telegram Bot
Xmas Lights
Energy monitor collection system monitoring and alerting
Battery inverter data collection and forward to MQTT