Ohhh, glad you asked this. Can't wait to read what others have running.
Here's my setup.
I have a mini-pc with 32gigs of ram running as my combo "compute" and "storage" server.
It has an attached 5 bay enclosure with 8TB of storage on it.
On it I run
- Caddy to host static sites (my blgo) and to terminate HTTPS for other services
- audiobookshelf (mostly unused)
- calibre-web (organizes ebooks)
- diun (notifications about docker image updates)
- gitea (personal git repos, mostly useless honestly but I do put some things in here before they go to GitHub)
- home-assistant (heavily used)
- mealie (heavily used)
- mpd (music player daemon, moderately used throughout my house)
- a VPN container for things that I want to only run inside a VPN and never when the VPN is down
- plex (heavily used to organize and play media elsewhere in the house)
- postgres
- scrutiny (for consolidated reporting of disk issues across my machines)
- shiori (read-it-later style bookmark manager)
- snapcast (coordinates multi-room audio throughout my house on a bunch of raspberry pis attached to speakers, heavily used)
- syncthing (heavily used)
- vaultwarden (heavily used)
- woodpecker (self-hosted CI, moderately used)
- zwave-js-ui (manages the zwave based smart home devices I have...about 20 or so)
My router/firewall is a separate devices running OPNsense and I use Wireguard to remote in - also works wonderfully.
I run all the services with docker-compose. The server itself is a bit of a snowflake but all the critical parts of the services are in their respective docker directories so backup is a snap (aside from postgres which has a separate backup process).
Currently I'm working on documenting a recovery procedure for Vaultwarden from our Backblaze backups so that in the event something happens to me my wife will be able to recover the Vaultwarden instance and our passwords. That's a fun exercise in documentation and simplifying the process.
Snapcast has really been a dream for multi-room audio setup. It presents a Spotify Connect device to anyone on my wifi. It has a separate stream which comes from whatever is being played on MPD and it is easily configured to play audio from whichever of those two streams is actively playing music...so I don't have to manually switch between them.
Caddy has been great for organizing everything and ensuring each service has HTTPS. I understand Traefik is somewhat more purpose built for doing this with a bunch of containers but I haven't had a need to switch.
I do have a VPS and use it for the occasional site that needs to be more reliable than my home internet (which itself is quite reliable but I'm not counting 9s there). More and more I find I'm comfortable putting random static sites on my machine at home, though.
Parting thought:
Exposing all of these details is a bit of a security concern, for sure. But ultimately I think it's (a) Not a huge security concern -- I need to assume any attacker knows what I'm running anyway, and (b) part of the fun is talking about it so I lose some value if I don't.
Here's my setup.
I have a mini-pc with 32gigs of ram running as my combo "compute" and "storage" server.
It has an attached 5 bay enclosure with 8TB of storage on it.
On it I run
- Caddy to host static sites (my blgo) and to terminate HTTPS for other services - audiobookshelf (mostly unused)
- calibre-web (organizes ebooks)
- diun (notifications about docker image updates)
- gitea (personal git repos, mostly useless honestly but I do put some things in here before they go to GitHub)
- home-assistant (heavily used)
- mealie (heavily used)
- mpd (music player daemon, moderately used throughout my house)
- a VPN container for things that I want to only run inside a VPN and never when the VPN is down
- plex (heavily used to organize and play media elsewhere in the house)
- postgres
- scrutiny (for consolidated reporting of disk issues across my machines)
- shiori (read-it-later style bookmark manager)
- snapcast (coordinates multi-room audio throughout my house on a bunch of raspberry pis attached to speakers, heavily used)
- syncthing (heavily used)
- vaultwarden (heavily used)
- woodpecker (self-hosted CI, moderately used)
- zwave-js-ui (manages the zwave based smart home devices I have...about 20 or so)
My router/firewall is a separate devices running OPNsense and I use Wireguard to remote in - also works wonderfully.
I run all the services with docker-compose. The server itself is a bit of a snowflake but all the critical parts of the services are in their respective docker directories so backup is a snap (aside from postgres which has a separate backup process).
Currently I'm working on documenting a recovery procedure for Vaultwarden from our Backblaze backups so that in the event something happens to me my wife will be able to recover the Vaultwarden instance and our passwords. That's a fun exercise in documentation and simplifying the process.
Snapcast has really been a dream for multi-room audio setup. It presents a Spotify Connect device to anyone on my wifi. It has a separate stream which comes from whatever is being played on MPD and it is easily configured to play audio from whichever of those two streams is actively playing music...so I don't have to manually switch between them.
Caddy has been great for organizing everything and ensuring each service has HTTPS. I understand Traefik is somewhat more purpose built for doing this with a bunch of containers but I haven't had a need to switch.
I do use https://github.com/lucaslorentz/caddy-docker-proxy for letting the containers themselves describe their respective domains and mapping.
I do have a VPS and use it for the occasional site that needs to be more reliable than my home internet (which itself is quite reliable but I'm not counting 9s there). More and more I find I'm comfortable putting random static sites on my machine at home, though.
Parting thought: Exposing all of these details is a bit of a security concern, for sure. But ultimately I think it's (a) Not a huge security concern -- I need to assume any attacker knows what I'm running anyway, and (b) part of the fun is talking about it so I lose some value if I don't.