2025 App Tour!
🤔 Binaries, Container, and Operating Systems Oh My!
Now that we have the hardware all squared away, let’s talk Operating Systems and Applications. I like to run what is consider a two-tier architecture. This means I keep my compute and applications on one machine(s) and my storage on another. I am a big fan of iSCSI and NFS for this purpose. I run most of my file and block services over TrueNAS and my application and Virtual Machines on Proxmox. When it comes to containerization, I use Docker and Docker Compose to orchestrate all my containers via a few files.
🖥️ Operating Systems
NAS OS - TrueNAS
TrueNAS is my OS of choice for my storage. It’s fast, reliable, and has a great Web UI to display and monitor all of my storage. I really like ZFS resiliency and robustness. ZFS data scrubbing feature is key has it helps prevent bit rot on less used files. Recently, IX Systems has been switching the underlying technologies of TrueNAS so I am somewhat hesitant the keep using it. But as it stands right now, it is rock solid product with a great UI and feature set.
Hypervisor OS - Proxmox
As I alluded in my Proxmox post, I really like Proxmox’s flexible and resiliency. It’s native backup features are pretty slick though. I simply put connect a NFS share and point the backup job to it and we are good to go! I do find the UI to be somewhat cumbersome and that a lot of what I think I UI features seem to be only available via the CLI, like adding an L2 ARC or SLOG to a ZFS pool. It’s networking design and UI are more complex too so I would stick to simple interfaces or bonds. Overall though, it’s a wonderful open-source project and I think it is prefect for a Homelab or SMB looking for a virtualization solution. If you are doing to deploy it in production, I would buy the support!
Ubuntu
Ubuntu is my flavor of choice for Linux. I like it because it has a massive community and is flexible enough for most things I am doing. I do find Snap to be rather annoying and not great to use. Professionally, I use RHEL. I love that OS, but find it a bit more cumbersome to work with at home where I am not as concerned with compliance and security.
🐳 Containers
Docker
I like the use Docker for the same reasons I like to use Ubuntu. It has a massive community and is flexible for my needs. I am not super thrilled with all the licensing issues, but it works for me. I am looking into Podman or Kubernetes. However, most of my Kubernetes deployments have been more trouble than they are worth.
📲 Applications
Traefik
Traefik is my reverse proxy of choice. I like it because it has a great Web UI and performs automatic SSL certificate generation and renewal, and supports Let’s Encrypt. It does have a learning curve with both the Traefik Proxy and Docker labels, but once you understand those it is quite easy to use. I have used Nginx and Apache in the past, but I find Traefik to be more user-friendly and easier to set up.
Backrest
Backrest is a backup and restore solution for container backups. It’s a all in one container with a simple web UI for Restic backups. It takes a lot of the CLI commands an makes them easy to use.
Beszel
Beszel is a super simple monitoring tool for Docker containers and Linux servers. It provides a simple Web UI to monitor your containers and their resource usage. It is not as feature rich as some other monitoring tools, but it is lightweight and easy to use. For my Homelab, it is perfect. I have used Prometheus and Grafana in the past, but I find them to be overkill for my needs.
Dozzle
Dozzle is a simple log viewer for Docker containers. It provides a Web UI to view the logs of your containers in real-time. It is lightweight and easy to use, making it perfect for my Homelab. I have used other log viewers in the past, but I find Dozzle to be the most user-friendly and easy to set up.
Immich
Immich is a self-hosted photo and video backup solution. It provides a Web UI to upload and manage your photos and videos. It is lightweight and easy to use, making it perfect for my Homelab. I have used other photo backup solutions in the past, but I find Immich to be the most user-friendly and easy to set up.
Jellyfin
Jellyfin is my media server of choice. It is a free and open-source media server that provides a Web UI to manage and stream your media. It is lightweight and easy to use, making it perfect for my Homelab. I have used Plex in the past, but I find Jellyfin to be more user-friendly and easier to set up.
Nextcloud
Nextcloud is my file sync and share solution. It provides a Web UI to manage and share your files. It is lightweight and easy to use, making it perfect for my Homelab.
Jellyseerr
JellySeerr is a companion application to Jellyfin that provides a Web UI to manage and request media. It allows you to create a media request system for your Jellyfin server. It’s simple to set up and use, making it perfect for my Homelab.
The ARR stack
The ARR stack is a collection of applications that work together to provide a complete media managements solution. It helps you find what media you need to obtain to complete your collections. It includes:
- Radarr: A movie management application that allows you to manage and request movies.
- Sonarr: A TV show management application that allows you to manage and request TV shows.
- Lidarr: A music management application that allows you to manage and request music.
- Bazarr: A subtitle management application that allows you to manage and request subtitles for your media.
- Tdarr: A transcoding and optimization application that allows you to optimize your media files for streaming.
The ARR stack is lightweight and easy to use, making it perfect for my Homelab.
Semaphore UI
Semaphore UI provides a simple Web UI for Ansible, Python, and Bash scripts. It allows you to run and manage your scripts from a Web UI, making it easy to automate tasks in your Homelab.
Uptime Kuma
Uptime Kuma is a self-hosted status monitoring solution. It provides a Web UI to monitor the uptime and response time of your services. I like the simplicity of Uptime Kuma. Like Beszel, it keeps things simple and notifies my discord server when something goes wrong.
Transmission
Transmission is my torrent client of choice. It provides a Web UI to manage and download torrents. It is lightweight, easy to use, and is perfect for getting all my Linux ISOs
Pterodactyl
Pterodactyl is a game server management panel. It provides a Web UI to manage and deploy game servers. It is running a LXC container in Proxmox and it i how I allow my friends and family to generate game servers as they need them. It’s bit confusing the set up, but once it is live it is so nice to use and let them manage their own game servers.
TailScale
TailScale is a zero-configuration VPN solution that allows you to connect your devices securely. It provides a simple Web UI to manage your devices and connections. I use it to connect my Homelab to my mobile devices and laptops securely. I have subnet router set up as well so I can access my entire Homelab from anywhere.
Home Assistant
Home Assistant is my home automation solution. It provides a Web UI to manage and control your smart home devices. I use it to control my lights, thermostat, and other smart home devices. I don’t have a ton of devices now, but I plan to expand once I get a house.