Self Hosted

I host several useful applications on a server located in my basement, using Docker Compose running on Linux as a container management layer. You can think of it as a "mini-cloud" running on my own hardware (which currently is an old desktop machine that would otherwise be sitting in a landfill somewhere).

I especially enjoy that all my locally-served applications work when there's an internet outage, which happens more than you'd like when living in rural Quebec.

Home Assistant is an incredible open-source project to provide one central hub to manage all your smart home devices. Alongside the usual consumer-grade Internet of Things connected devices, I have several DIY smart devices in my home running custom firmware. It is my firm belief that unless these devices are able to respond to inputs and take actions automatically, then you don't have a "smart" home, you have a home with a different kind of light switch.

I strongly recommend Home Assistant as an entry point for anyone interested in starting a home server or getting into home automation. It really is an incredibly powerful platform with a good community.

OwnTone is a self-hosted music server that supports remote outputs with Airplay, Google Cast, and Sonos speakers. It also allows for custom, query-based "smart" playlists, empowering users to generate SQL-like queries to generate playlists dynamically. I rely heavily on this feature to shuffle my music according to key metrics, such as date added, play count, skip count, date last skipped, date last played, and rating. It also has a custom integration for Home Assistant, allowing me to integrate it with other self-hosted services quickly and easily.

LedFX is an impressive application that connects an audio stream to your IoT lights that support e1.31 DMX-over-internet protocol. This project, paired with OwnTone and the incredible WLED project, can turn your smart home into a concert venue with a couple small configurations. I've been playing with music-to-lights since connecting WinAmp to a set of LEDs wired to my computer's parallel port back in the early oughts, and LedFX is a dream come true.

NextCloud is a self-hosted cloud collaboration provider, similar to what you can get from one of the Big Tech companies, but running on your own hardware. This is a simple way I use to sync and backup photos from my Android phone.

Nginx Proxy Manager gives you a nice user interface and front end for managing and configuring reverse proxy and security certificates. This gives me the ability to forward only one single port, and anything I make available to the internet is hosted using HTTPS with a valid certificate. It also lets me secure things by opening up only the ports required for serving content securely.

Plex Media Server is probably the self-hosted platform I've been running for the longest. It's a self-hosted media server, giving me access to my movies and TV shows locally. I can't remember the last time I owned a DVD player, since I spent some time ripping my collection to disk several years ago, and haven't looked back since.

Portainer gives you a front end to manage your docker instances. I like it because I can quickly view logs of any container, check the state of my stack, and even connect to the containers running on other machines (for example, a raspberry pi running a couple containers). It's a nice wrapper for the docker command line, especially when you're still new to the self-hosting scene.

Tautulli is an analytics/metrics front-end for Plex. It gives you insight into your media server usage, load, and trends. I just enjoy looking at what I enjoy watching for some reason.

I like to have backups of my data, but I don't like to pay and run single-purpose, expensive appliances when there are open-source alternatives. I run a couple of Time Machine servers locally so I have redundant backups.

This provides a BitWarden-compatible back end to host your own password manager. I'm a fan of open-source, and a fan of keeping my private info out of the hands of unknown providers who could lock my data behind a paywall.