I find mini PCs very affordable for building a cozy home lab. My best bet was to look for refurbished or used mini (or micro) PCs at online marketplaces. Since I wanted to start small, I preferred to look for Docker containers for self-hosted services rather than a complicated direct deployment.
From media streaming to managing a smart home, I experimented with and juggled several containers before narrowing down to the ones I really need most often. Here are some of the amazing Docker containers that run 24/7 on my $100 mini PC.
7 Docker containers I use to boost my productivity
Docker containers that turned me into a productivity ninja
Jellyfin
Hosting a local media streamer
To reduce my streaming service usage, I have set up a Jellyfin server that hosts some of my favorite and most popular movies and shows. To make this container resource-efficient, I disabled hardware transcoding and used Direct Play whenever possible. Such a configuration helps Jellyfin run smoothly, rarely ever crashes, and doesn’t buffer while playing files locally. To my surprise, it’s quickly becoming a Netflix alternative for my family.
Immich
Self-hosted photo management
Deploying the Immich containers with a Docker Compose file is quite convenient. Setting the proper volumes was what I focused on when installing it. As one of the early containers when I started with Docker, I barely tweaked the configuration. So now it manages photos without hiccups. Besides paying for cloud storage, I happily keep copies of photo backups on my Immich server for offline viewing.
Syncthing
Sharing files becomes easy
To share files, like screenshots, locally between a MacBook and Windows is now easy, all thanks to Syncthing. After setting up the local shared folders, file transfers proceed smoothly. Its lightweight profile makes it highly reliable for sharing photos or documents between phones and computers. Most importantly, I get to set up two-way or send-only sync between folders. Its web interface allows managing the syncs and other admin controls.
ownCloud
Web-based file management
Though Syncthing feels good enough for sharing files, I needed a proper browser-like interface to access and manage files. Along with Syncthing, ownCloud helps me share files directly via links. More importantly, this Docker’s web interface is reminiscent of other cloud services. That helps me teach my family to share important files and documents easily, while maintaining full control over the data.
Home Assistant
Local smart home shenanigans
After using Home Assistant OS for a while, I switched my approach to deploying the smart home platform as a Docker container. The initial setup felt a little tedious, especially when populating the Docker Compose file to include add-ons. That was worth it because the overall system overhead is way less, especially since I don’t use Frigate for cameras. The entire HA setup boots quickly. However, running Home Assistant as a container brings along multiple containers, and managing them becomes easier over time.
Vaultwarden
Managing passwords effectively
As one of the few resource-intensive open-source options, Vaultwarden serves well to manage my family members’ passwords efficiently. Whether it’s for accessing other locally self-hosted services or online streaming accounts, the passwords are easily available to everyone. In the past, I tried Passbolt, but giving Vaultwarden a second chance turned out to be convenient for my family.
Uptime Kuma
Monitor the health of services and apps
While experimenting with new containers along with the regular ones, it’s important to know when something breaks. This simple, light-weight monitoring container lets me keep an eye on the health of other Docker containers. Also, I set up HTTP(S), DNS, TCP, and Ping devices to form a real-time monitoring system that alerts me when something stops working. The real-time alerts help me fix those broken apps quickly, and their uptime history helps further troubleshoot if a serious deep-dive is required. Its simple setup and friendly interface lets me enjoy full control over the monitoring data.
Portainer (CE)
Managing the containers
Installing containers and experimenting is so convenient with a clean web UI that also offers management settings. Mapping volumes and setting up the container network becomes straightforward. Thanks to Portainer’s web interface, troubleshooting crashing containers or other issues takes only a few clicks. It’s become one of the essential control panels to manage various Docker environments.
Portainer is a lightweight, easy-to-use management interface for Docker, Kubernetes, and other container platforms. It simplifies the deployment, management, and monitoring of containers through a visual, web-based dashboard. With Portainer, users can manage container stacks, networks, volumes, and images without relying solely on command-line tools.
Pi-hole
For observing IoT behavior and ad-blocks
Experimenting with various containers and IoT devices started attracting unknown traffic to my home network. I use Pi-hole to handle that with Unbound DNS. After auditing the outgoing traffic from smart devices, I tuned all of them to work locally, without cloud services support.
Besides that, Pi-hole helps curb trackers and suspicious domains from exploiting my family members’ devices, while also blocking spammy and phishing sites.
7 Docker containers you should run on your Synology NAS
Turn your Synology NAS into a Docker hub.
A roster of containers is now a daily essential
The majority of these containers host services that my family and I use daily. The only exception is Portainer. I only check it every couple of days to ensure my high-availability containers don’t experience any configuration issues. In case anything goes wrong, I simply use the master Docker Compose file to make changes and re-spin the container.
A combination of an affordable mini PC and Docker containers is excellent for running a handful of high-availability, essential services locally on a home network. As I continue to learn from my homelab building mistakes, I now prefer using most services locally and rely less on cloud services.

