60+ Best Docker Containers for Home Server Beginners 2024

Wondering what to do with the server in your homelab? Here are the 60+ best Docker containers for home server beginners to get started with self-hosting.

If you have been following us, you are probably aware of our famous Docker media server guide and Traefik reverse proxy guide. You have one or both of those and now you are really ready to put your home server to the test and push it to the boundaries of performance.

But the problem is you do not know what might be some good docker containers to get started with. This is a common question we get and here is our opinion on what are some of the best Docker containers for homelab.

Needless to say, this is a subjective list of best Docker apps. Feel free to share your opinion in the comments or take the survey below to give your input.

Why use Dockerized Apps on your Home Server?

If you are new to Docker, then I suggest you read our Docker introduction.

In short, Docker is OS-level virtualization that exists in guest filesystems running inside containers. Usually, these are Linux distros, but they can be other Unix-derived operating systems as well.

Docker Vs Virtual Machines Made By Docker
Docker Vs Virtual Machines Made By Docker

Containers run on top of a Docker Engine on the host, which isolates containers from the rest of the OS.

This means Docker is fast because there is no GUI, just container apps running on mere commands. This makes Docker an ideal platform for making a server fast and efficient. This also makes it more efficient to use a stack of Docker containers as your home media server. Let's explore some of the best docker containers for home server.

Installation: Most of these homelab docker containers are already covered in our Docker, Traefik, Synology, and QNAP guides. You may also refer to Anand's GitHub repository for guidance and docker-compose for many more apps.

Let's begin.

Best Docker Containers for Home Server

In the past we have summarized a list of best apps to automate media management. In this article, we will expand on it but stick to only apps that are available as docker contains.

Once again, this is not meant to be an exhaustive list of all possible/awesome homelab apps. That would be too many to handle and list. Instead, this is meant to be a starter list. Once you get started, in most cases it will become a rabbit hole....a never-ending quest for new Docker containers.

We have tried to group the docker containers into relevant sets (beginners, smart home, media aggregation, etc.). For each set, we tried to pick a few awesome Docker containers.

Best Docker Containers for Beginners

1. Portainer

Portainer Webui For Docker
Portainer Webui For Docker

Managing containers may not be easy for you, especially if you run Kubernetes or minikube. Much like Raft for WSL on Windows, Portainer is made for managing containers. Portainer is made for Docker, however, and is a much better choice for managing Docker containers.

Whether you run a network using Swarm or Nomad or just have a lot of containers from experimentation, Portainer is the most popular container manager for Docker images. Portainer allows you to write YAML files and add manifests for Docker applications. You can deploy, configure, troubleshoot, and secure Docker images with Portainer more easily within a user interface.

You can start using Portainer Community Edition to manage containers, images, volumes, networks, and more. [Read: Portainer Docker Compose: FREE & MUST-HAVE Container Manager]

Portainer Alternatives: Rancher (but not as simple)

2. Dozzle

Viewing Docker Logs In Dozzle
Viewing Docker Logs In Dozzle

Dozzle is a cost-free, real-time log viewer with a small memory footprint. It has been tested and works with almost any type of container. Dozzle is used for monitoring Docker images by providing an advanced web UI. It supports live stats for memory and CPU usage of Docker containers. You can read multiple logs with split-screen viewing.

Dozzle also supports username authentication with a password. It also gives you a fuzzy search for container names that may be hard to remember. You can even use ReGex to search logs.

If you are experimenting with new Docker containers, Dozzle is a great companion app to easily monitor container logs. [Read: Dozzle Docker Compose: View Docker Logs Like A BOSS]

Dozzle Alternative: Portainer

3. Nginx Proxy Manager

Nginx Proxy Manager - Easy Reverse Proxy With Ssl
Nginx Proxy Manager - Easy Reverse Proxy With Ssl

Nginx Proxy Manager (NPM) is a reverse proxy to easily run a website or host an application such as a media or game server. With the Secure Admin Interface, you can create forwarding domains, redirections, streams, and 404 hosts. You also get free SSL using Let's Encrypt or you can use your own custom certificate.

NPM also supports Access Lists and HTTP Authentication with user management, permissions, audit log, and advanced configuration for superusers. The UI is built with Tabler to be user-friendly and useful at the same time. You can also configure multiple users for access with some permissions or grant full access.

If you are new to self-hosting and Traefik is a bit intimidating, then NPM is a good start. We have covered Nginx Proxy Manager installation in our Docker guide.

Nginx Proxy Manager Alternative: Traefik (more complex but powerful), Caddy, HAProxy

4. File Browser

File Browser Interface - Also Has An Editor With Syntax Highlighting
File Browser Interface - Also Has An Editor With Syntax Highlighting

File Browser provides a web UI for managing files for multiple users in multiple directories. Each user can upload, delete, preview, rename and edit files in a specified directory. It is one the cleanest and easiest file managers for your homeserver.

All you must do is simply install File Browser on a server and point it to a directory path to access files through the web interface.

File Browser Docker-Compose can be found in Anand's Docker media server guide or his GitHub repo.

File Browser Alternative: Oasis

5. Heimdall

Example Heimdall Dashboard
Heimdall Is A Nice Visual Aid For Organizing Applications.

Heimdall allows you to create browser shortcuts to easily access any web application, site, or page with a click. Heimdall Application Dashboard without iframes, apps within apps, or abstraction of APIs. Instead of fishing through bookmarks and trying to find your most used apps, Heimdall lets you access through from a web page.

Unlike Heimdall, traditional bookmarks are not easy to find/access and quickly add clutter.

Heimdall supports a wide range of web applications as well as generic URLs. Foundation apps are supported already, no need to add an icon. Enhanced apps (AdGuard Home, Jellyfin, Bazarr, Plex, Portianer, Home Assistant, etc.) may also provide more features, such as stats.

Heimdall is much better than some of the older dashboards like Organizr, which felt bloated.

Heimdall Docker-Compose can be found in Anand's Docker media server guide or his GitHub repo.

Heimdall Alternative: Homepage, Dashy, Homarr

Best Docker Containers for Smart Home

6. Home Assistant

Home Assistant Screenshot
Home Assistant Smart Home Hub

Open-source home Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Home Assistant automation puts local control and privacy first. HA works with over a thousand brands of devices and services. HA automatically scans the network for known devices and keeps your data local, no cloud hosting is required.

Control lights, receive alerts, and monitor devices with HA's advanced automation engine. You can use the official Home Assistant apps and using devices that are always with you, such as your Android smartphone, iPhone or Apple Watch. If you plan to make your home a smart home, Home Assistant is one of the best docker containers for home server. Never go to work leaving your garage door wide open again!

If you want Home Assistant with all the bells and whistles (Add-ons, HACS, etc.) then HassOS is the way to go. Otherwise, Home Assistant Docker-Compose from Anand's GitHub repo.

Home Assistant Alternatives: Domoticz, openHAB

7. Node-RED

Nodered Home Assistant Automation
Nodered Home Assistant Automation

Node-RED is a programming tool for wiring together flows using a wide range of nodes for hardware devices, APIs, and web services. Flows created in Node-RED are stored using JSON using a lightweight runtime built on NodeJS. You can extend the range of palette nodes for more features from over 225,000 modules in Node's package repository.

Flows can be imported and exported for sharing. The built-in flow library allows you to save functions, templates, and flows. If you want to take advantage of APIs and web services, Node-RED is one the best docker containers for homelab for getting started.

It gets even better if you with HassOS, Node-Red can be set up as an Add-on and it will be fully integrated with Home Assistant automation out of the box.

Install Node-RED from Docker Hub and check out Node-RED on GitHub.

8. Mosquitto MQTT Broker

MQTT is an OASIS Advanced Message Queuing Protocol (AMQP) for the Internet of Things (IoT). MQTT can scale to connect millions of IoT devices. While MQTT clients are small and use microcontrollers, MQTT can scale to support millions of IoT devices. MQTT is lightweight and fast, using small message headers to optimize network bandwidth. [Read: Smart Home Protocols: 10-min IoT Protocols Glossary for Beginners]

MQTT today is used in many different industries, any that require support for IoT devices. These include automotive, manufacturing, telecommunications, smart enterprise, etc. Because many IoT devices connect over cellular networks that can prove to be unstable, MQTT supports persistent sessions to reconnect the client with the Mosquitto MQTT Broker.

Mosquitto MQTT Broker Docker-Compose can be found in Anand's GitHub repo.

Best Docker Images for Media Servers

9. Plex

Plex - Ultimate Media Server
Plex - Ultimate Media Server

Plex is a home media server and a free movie website you can watch any time without a subscription. You can watch over 50,000 free on-demand movies and shows and view over 300 channels of live TV. Plex works on almost any device, including Apple, Android, Smart TVs, and more. [Read: 10 Best Plex Client Devices [2022] – STUTTER-free Streaming]

Plex is also good for accessing content from more countries worldwide than any other online streaming service. With an easy-to-install Plex Media Server and Plex apps, you have instant access to your server using smartphones, tablets, and other streaming devices such as game consoles and smart TVs. Plex is the single most popular way to stream your video, music, and photo collections used by enthusiasts today.

Plex Docker-Compose can be found in Anand's Plex Docker compose guide, Docker media server guide, or his GitHub repo.

10. Jellyfin

Jellyfin Media Server
Jellyfin Media Server

Jellyfin is the Free Software Media System that puts you in control of your media, allowing you to access, manage and stream from home or away. Jellyfin is the first choice for many because it is an alternative to the proprietary Plex and Emby home media servers.

Jellyfin also supports several client devices and can be supercharged with several awesome plugins.

Jellyfin was originally forked from Emby 3.5, but eventually became its own application quite different from Emby. Jellyfin does not require a premium license or features for the same remote access for Plex and Emby. Though you may have to be a bit tech-savvy to use Jellyfin, those who do often never return to Plex or Emby again.

Jellyfin Docker installation be found in Anand's Jellyfin Docker Compose guide or his GitHub repo.

Jellyfin Alternative: Emby (although not free).

11. Airsonic-Advanced

Airsonic Advanced Music Server
Airsonic Advanced Music Server

We have discussed many music server apps previously. I tried several of them: Ampache, Navidrome, Funkwhale, Subsonic, and more. After Airsonic development halted, I was lost. None of them was simple yet featureful (e.g. being able to control music folder access per user).

Fortunately, Airsonic reappeared as Airsonic-Advanced.

Airsonic-Advanced is a more modern implementation of the Airsonic fork with several key performance and feature enhancements. It adds and supersedes several features in Airsonic.

It offers a web-based media streamer that you can use and share with family and friends. It is designed to handle a very large music collection. [Read: 5 Best Apps for Music Tagging – Organize your songs better]

Airsonic-Advanced can play several different audio formats, including MP3, WMA, FLAC, APE, and is compatible with several mobile apps using the Subsonic API.

Airsonic-Advanced Docker-Compose can be found in Anand's GitHub repo.

Airsonic Advanced Alterantive: Navidrome (per user music folder not supported)

12. Tautulli

Tautulli (Aka Plexpy) - Monitoring Plex Usage
Tautulli (Aka Plexpy) - Monitoring Plex Usage

Tautulli is a third-party app for monitoring and tracking Plex Media Server. You can see what has been watched, who watched it, when they watched it, and what device it was watched on. All statistics are displayed in a well-designed interface made of tables and graphs for easy viewing.

With Tautulli Remote you can view activity and stats away from home. Intuitive graphs allow you to view streaming trends. You can create newsletters for recently added media. You can see the watch history for all users. Tuatulli also allows you to view statistics and detailed media info about your Plex library and delete synced content.

Tautulli Docker-Compose can be found in Anand's GitHub repo.

13. Bazarr

Bazarr - Subtitle Management For Media Servers
Bazarr - Subtitle Management For Media Servers

Bazarr is a companion application to Sonarr and Radarr that manages and downloads subtitles. You can search automatically for missing subtitles and download them as they become available. You can find all matching subtitles, choose one, and download it directly to your media library.

Bazarr Docker-Compose can be found in Anand's GitHub repo.

14. Ombi

Ombi Movie And Tv Show Requester
Ombi Movie And Tv Show Requester

Ombi sports a slick, responsive, and mobile-friendly UI. Ombi lets users manage media requests such as movies, music, and TV shows with a user management system that supports Plex, Emby, and local accounts. You can allow users to have requests automatically approved and added to Sonarr, Radarr, Lidarr and others. It also automatically updates the status of user requests.

You can create custom notifications for users. With secure authentication to a landing page, Ombi allows you to add custom notification text to inform your users of downtime and the availability of your Plex or Emby Server. Ombi will show if the request is already being served on Plex or Emby, and also even show if it's already being monitored.

Ombi Docker-Compose can be found in Anand's GitHub repo.

15. FreshRSS

Freshrss Reader
Freshrss Reader

FreshRSS is a lightweight, multi-user, self-hosted RSS feed aggregator that is customizable and easy to use. FreshRSS works with Mastodon, Friendica, WordPress, Blogger, FeedBurner, and many others. FreshRSS also natively supports web scraping for sites that do not provide RSS and Atom.

You can follow websites, podcasts, and video channels in a single app with FreshRSS. The FreshRSS Reader allows you to read your articles. The Search allows you to save queries for quick access. You can import or export and generate feeds, customize with themes and extensions, and stay connected to your feeds in real-time.

Check out FreshRSS on GitHub.

Popular Docker Images for Media Aggregation

16. Sonarr

Sonarr - Tv Shows Download And Organization
Sonarr - Tv Shows Download And Organization

Sonarr (formerly NzbDrone) is a PVR for TV Shows. You add the shows you want to see to Sonarr and it will search various BitTorrent and Usenet providers for the show episodes. If it is available, Sonarr will grab the index file and send it to your BitTorrent client or NZB client for downloading.

Once the download is complete it can rename your episode to a specified format and move it to a folder of your choice (TV Show library). It can even update your Plex library or notify you when a new episode is ready for you to watch.

Sonarr Docker-Compose can be found in Anand's Docker media server guide or his GitHub repo.

Sonarr Alternative: Sickgear, Sickchill

17. Radarr

Radarr - Movie Download And Organization
Radarr - Movie Download And Organization

Radarr is a Movie PVR. You add the movies you want to see to Radarr and it will search various BitTorrent and Usenet providers for the movie. If it is available, Radarr will grab the index file and send it to your BitTorrent client or NZB client for downloading.

Once the download is complete it can rename your movie to a specified format and move it to a folder of your choice (movie library). It can even update your Plex library or notify you when a new movie is ready for you to watch. [Read: CouchPotato vs SickBeard, SickRage, or Sonarr for beginners]

Radarr Docker-Compose can be found in Anand's Docker media server guide or his GitHub repo.

Radarr Alternative: CouchPotato (development stopped)

18. Lidarr

Lidarr For Automated Music Management
Lidarr For Automated Music Management

Membership Required

You must be a member to access this content.

View Membership Levels

Already a member? Log in here

19. Readarr

Readarr Books And Audiobooks Manager
Readarr Books And Audiobooks Manager

Readarr is an ebook and audiobook collection manager for Usenet and BitTorrent that can monitor multiple RSS feeds for new books. It will grab, sort, and rename them according to metadata. You can watch for better quality copies of ebooks and audiobooks and configure an automatic upgrade if Readarr finds a better-quality format.

Readarr has support for all major platforms, including Windows, Linux, macOS, and Raspberry Pi OS. You can scan your existing library and download missing books from a saga or trilogy. Automatic failed download handling enables Readarr to try another release if one fails until it finds the right one. You can also use the manual search to pick a specific release. Readarr also tells you why a release was not downloaded automatically.

There is advanced customization for profiles, fully configurable book renaming, and support for apps such as SABnzbd, NZBGet, QBittorrent, Deluge, rTorrent, Transmission, uTorrent, and other download clients. If you use Calibre to read on your computer, you will be happy to know Readarr has full integration with Calibre.

Readarr Docker-Compose can be found in Anand's GitHub repo.

Readarr Alternative: LazyLibrarian

20. Prowlarr

Prowlarr Torrent And Usenet Proxy
Prowlarr Torrent And Usenet Proxy

Prowlarr is an indexer manager and proxy built on the *arr .NET/ReactJS stack. Prowlarr supports torrent trackers and Usenet indexers to integrate with PVR apps, Lidarr, Mylar3, Radarr, Readarr, and Sonarr. Some of the features that make Prowlarr worth using include:

  • Manual searching of trackers and indexers by category
  • Parameter-based manual searching
  • Indexer health and status notifications
  • Per-indexer proxy support (SOCKS4, SOCKS5, HTTP, Flaresolverr)
  • Indexer history and statistics

With Prowlarr, you will have one place to manage all your indexers for all your Arr apps. It is a great replacement for Jackett.

Prowlarr Docker-Compose can be found in Anand's GitHub repo.

Prowlarr Alternative: Jackett

21. SABnzbd

Sabnzbd Usenet Downloader
Sabnzbd Usenet Downloader

SABnzbd is an Open-Source Binary Newsreader that makes Usenet easy through automation. When you add an .nzb file, SABnzbd automatically verifies, repairs, extracts, and archives your download. Sonarr, Radarr, and Lidarr integrate with SABnzbd easily. SABnzbd can also handle RSS feeds. An easy setup wizard and self-analysis tools can be used to verify your setup.

You can manage SABnzbd through a web browser from just about any PC, smartphone, or Android device through the Glitter interface. Alternatively, you can use apps like LunaSea for Android and iOS, nzb360 for Android, and nzbUnity on the iPhone and iPad. SABnzbd runs on Windows, macOS, Unix, and NAS devices.

With the development of NzbGet slowing down/stopping (NzbGet Project has been adopted), SABnzbd is the best option right now.

SABnzbd Docker-Compose can be found in Anand's GitHub repo.

SABnzbd Alternative: NzbGet

22. qBittorrent

Qbittorrent Torrent Downloader
Qbittorrent Torrent Downloader

qBittorrent is one of the best torrent clients you can use. It is fast, easy, and free to use. You can install it as a native macOS GUI app, or on Windows, Linux, and BSD. We have covered qBittorrent installation on Linux previously. But Docker is so much easier.

qBittorrent uses very little memory with light overhead, which makes it well-suited for home media servers. You can configure watch directories, bad peer blocklists, UPnP and NAT-PMP port forwarding, webseed support, tracker editing, global and per-torrent speed limits, and more. With an easy-to-use web interface, encryption, and peer exchange, qBittorrent opens magnetic links and handles DHT and µTP.

Along with Prowlarr, torrent websites, or private torrent trackers, you will have yourself a content aggregation machine.

If there is one Docker container that you need to put behind a secure VPN, then that would be your torrent client. Be sure to check out our Docker Gluetun VPN Killswitch guide. Recommended VPN provider: Surfshark VPN (just $2.45 per month) with Wireguard support.

qBittorrent Docker-Compose can be found in Anand's GitHub repo.

qBittorrent Alternative: Transmission [Read: Pi Torrent Box]

23. MeTube

Metube Youtube Downloader
Metube Youtube Downloader

MeTube is a web UI for the famous youtube-dl or yt-dl you may be familiar with on the Linux command line. Why open a terminal and run a command when you can have a web interface? You are no longer limited to just downloading videos from YouTube.

Browser extensions for Chrome and Firefox allow you to right-click videos and send them directly to MeTube. You can download them from anywhere.

MeTube Docker-Compose can be found in Anand's GitHub repo.

MeTube Alternatives: Tube Archivist, Youtube-DL Material.

Best Docker Containers for Homelab Monitoring

24. Uptime Kuma

Uptime Kuma Monitoring
Uptime Kuma Monitoring

Uptime Kuma is an open-source monitoring tool for services over HTTP, TCP, DNS, and other protocols. Uptime Kuma will send you notification alerts of downtime. You can also create custom status pages for users.

Combined with Prometheus, Uptime Kuma can display metrics about each monitoring target. There are pre-made Grafana dashboards available to pull the metrics from Prometheus and display them as nice monitoring dashboards.

Uptime Kuma Docker-Compose can be found in Anand's GitHub repo.

Uptime Kuma Alternatives: Monit, Monitorr

25. Grafana

Grafana Node Exporter Dashboard
Grafana Node Exporter Dashboard

Grafana is an open and composable observability and data visualization platform that allows you to visualize metrics, logs, and traces from Prometheus, Loki, Elasticsearch, InfluxDB, Postgres, and others. Client-side graphs and panel plugins provide many ways to visualize metrics and logs. Grafana also allows you to create your own dynamic dashboards mixing many different data sources into the same graph.

Grafana also allows you to use ad-hoc queries and dynamic drill-down, designed with split-view capability for side-by-side comparison. Grafana Alerting can send alerts through notifiers such as PagerDuty, SMS, email, VictorOps, OpsGenie, or Slack. You can use dashboards and add features from plugins available in the official library.

Installation was covered in our Grafana Docker-Compose guide or can be found in Anand's GitHub repo.

Grafana Dashboard Tutorials

26. Netdata

Netdata System Monitoring
Netdata System Monitoring

Netdata is a real-time performance and health monitoring platform that allows you to monitor disk activity, bandwidth usage, and website visits. Designed by system administrators, DevOps engineers, and developers, Netdata is made for systems, hardware, applications, and Docker containers.

Netdata collects all available metrics (not some) and organizes data into human-readable charts while using only 1% of a single core on the CPU. The open-source Netdata Agent collects 10,000 metrics per server to troubleshoot complex IT infrastructures.

Netdata Cloud provides even more features such as Metric Correlations and the Anomaly Advisor. The free community plan allows you to monitor unlimited nodes, containers, and metrics.

Netdata can be installed natively or on docker.

Netdata Alternative: Glances

Best Docker Images for Databases

27. Prometheus

Prometheus Database
Prometheus Database

Prometheus is a TSDB (Time Series Database) application for event monitoring and alerting that records real-time metrics using an HTTP pull model, flexible queries, and real-time alerting. It collects metrics from targets at intervals using rule expressions and displays the results. You can also find Prometheus on Quay.io.

Features specific to Prometheus that are not available in other monitoring systems include:

  • A multi-dimensional data model
  • Flexible query language
  • No dependency on distributed storage
  • Time series collection via a pull model over HTTP
  • Pushing time series via an intermediary gateway
  • Targets discovery via service or static configuration
  • Multiple modes of graphing and dashboarding
  • Hierarchical and horizontal federation support

If you want to get into monitoring and charting anything in your homelab then, Prometheus is a must-have.

Prometheus Docker-Compose can be found in Anand's GitHub repo.

28. InfluxDB

Influxdb Time Series Database
Influxdb Time Series Database

InfluxDB is another TSDB developed by InfluxData to store and retrieve data records part of a "time series". The TSDB shows the context of the relationship between timestamped data points. Fast insertion and fast retrieval into InfluxDB is made possible with developer tools.

Serverless real-time monitoring of large amounts of time-stamped data on a dashboarding engine with analytics service makes InfluxDB fast and elastic. Use cases include DevOps monitoring, application metrics, IoT sensor data, and real-time analytics supporting queries, tasks, and agents all in one place.

InfluxDB is a popular database choice for smart home sensors in Home Assistant. It works flawlessly with Grafana for dashboarding.

InfluxDB Docker installation be found in Anand's InfluxDB Docker Compose guide or his GitHub repo.

29. MariaDB

You may have never used SQL commands, but you probably have heard of MySQL because of its many uses. MySQL Community Edition is free but MySQL itself is a commercial application. The developers of MySQL developed MariaDB as an option that would always be free and open-source.

MariaDB Server is also developed to maintain compatibility with MySQL, allowing developers to use the same open-source code libraries for MariaDB as MySQL. Some names you might recognize, such as Wikipedia, DBS Bank, and ServiceNow use MariaDB, you can now recognize them as using MySQL.

MariaDB is a popular choice for self-hosting enthusiasts as a database for Home Assistant, Authelia, WordPress, Airsonic Advanced, and more.

MariaDB Docker-Compose can be found in Anand's GitHub repo.

30. phpMyAdmin

Phpmyadmin For Managing Mariadb Databases
Phpmyadmin For Managing Mariadb Databases

If you use MySQL but do not enjoy running SQL commands, let phpMyAdmin do it for you. Most websites use a database and a great number of web applications as well. SQL is used everywhere, but MySQL stands apart from the rest because it is so widely developed.

It should be no wonder then that having a tool to help with the administration of MySQL would become popular. At the time phpMyAdmin was introduced, PHP was the web language to learn for Linux web servers. Back in the day, however, there were not nearly as many web applications using databases as today, most sites were static.

Not only is phpMyAdmin free software but it is written in a web language. There is no programming language to install to make it run because all you need is a web browser. With phpMyAdmin, you can manage a database like a database programmer without becoming one.

phpMyAdmin Docker-Compose can be found in Anand's GitHub repo.

phpMyAdmin Alternative: Adminer

Must-Have Docker Containers for Security and Privacy

31. Authelia

Authelia Tutorial For Docker And Traefik
Authelia Self-Hosted Multi-Factor Authentication

Authelia is a companion for reverse proxies for authentication and authorization with single sign-on via a web portal. Security is part of the design process, making it more than a mere identity and access management portal. Fast, efficient, and lightweight, Authelia is also open-source.

Authelia also prevents brute-force login attempts by limiting the number of logins before a user is locked out for a time. It also has built-in support for password resets with email validation that works with LDAP and internal passwords.

Authelia also supports two-factor authorization using TOTP, and even hardware security keys.

The best thing we like about Authelia is how easy it is to approve logins with Duo push notifications (no manual entries, just one click/touch).

Authelia Docker-Compose can be found in Anand's GitHub repo. If you prefer a detailed guide, then check out our Authelia docker setup guide.

Authelia Alternative: Google OAuth 2, Authentik

32. Vaultwarden

Vaultwarden - Self-Hosted Password Manager
Vaultwarden - Self-Hosted Password Manager

Vaultwarden (formerly Bitwarden RS) is a secure password storage and sharing Docker application based on Bitwarden. You can store logins, secure notes, and attachments, which you can access anywhere on any device. Authenticator, U2F YubiKey and Duo support make Vaultwarden a good choice for personal, family, or organizational use. [Read: 12 Top Self-Hosted Password Managers – Comprehensive Review]

Vaultwarden also acts as a service for many Bitwarden apps and browser extensions using its own API for Bitwarden. You can configure a Bitwarden mobile application or browser extension for compatibility with Vaultwarden. You can also use a custom domain and API endpoint with Bitwarden for better accessibility.

You can find Vaultwarden on GitHub. Or, use our comprehensive Vaultwarden Docker Compose guide.

Vaultwarden Alternative: Bitwarden (although Vaultwarden is fully free, lighter, and yet equally featureful)

33. AdGuard Home

Adguard Home Dashboard
Adguard Home Dashboard

Ads are what drive multimedia and make most of the TV and movies you watch free and paid. They eat up most of your bandwidth (and a lot of your attention) whether you are seeing them or being tracked in the background.

AdGuard Home is a network-wide ad and tracker blocking DNS server for all your home devices that work without the need for client-side apps. Two of the biggest advantages of AdGuard Home over PiHole are: 1) DoH/DoT out of the box and 2) Ability to add whitelist a list of domains from a file.

We have previously covered AdGuard Home installation on Ubuntu/Debian, using Docker Compose, and AdGuard Home configuration, in detail. AdGuard Home Docker-Compose can be found in Anand's GitHub repo.

34. Docker Socket Proxy

Any time you expose the Docker socket to a service, you are making it easier for the container to gain root access on the host system. But, some apps require access to Docker socket and API (eg. Traefik, Glances, Dozzle, Watchtower, etc.).

Automated Homelab Setup with Docker Compose
Deployarr can install 100+ Docker Apps in minutes, including Traefik, Authelia, Starr Apps, and more. Everything discussed in this post is done automatically by Deployarr. Deployarr V5 With 90 Apps Thumbnail | Smarthomebeginner

If Traefik gets compromised, then your host system could be compromised. Traefik's own documentation lists using a Socket Proxy as a solution.

A socket proxy is like a firewall for the docker socket/API. You can allow or deny access to certain API.

We have previously covered Docker Socket Proxy in our best security practices for Docker guide.

35. CrowdSec

Crowdsec Docker Impact On Blocking Attacks
Crowdsec Docker Impact On Blocking Attacks - Over 500 Attacks Blocked In 24 Hours

CrowdSec is an open-source, participative IPS. Cybercriminals use IP addresses to mask their locations, but CrowdSec provides a platform to secure all Internet-exposed infrastructures. Easy to use and set up, you don't have to earn your doctorate in cyber security to use CrowdSec.

Designed to be a crowd-based cyber security suite to protect online services, adding the CrowdSec docker image to your stack will protect your infrastructure. You can also generate dashboards for Prometheus to see and act on vulnerabilities. CrowdSec users support the largest Cyber Threat Intelligence (CTI) network today, allowing you to block IPs with Threat Intel Platform (TIP).

How-To Series: Crowd Security Intrusion Prevention System
  1. Crowdsec Docker Compose Guide Part 1: Powerful IPS with Firewall Bouncer
  2. CrowdSec Docker Part 2: Improved IPS with Cloudflare Bouncer
  3. CrowdSec Docker Part 3: Traefik Bouncer for Additional Security
  4. CrowdSec Multiserver Docker (Part 4): For Ultimate Protection

CrowdSec Alternative: Fail2ban (CrowdSec is collaborative, Fail2ban is local)

Must-Have Docker Containers for Administration and Maintenance

36. IT Tools

It Tools - Handy Toolset For Selfhosters And Developers
It Tools - Handy Toolset For Selfhosters And Developers

IT Tools is a collection of handy online tools. While the project claims to be useful for developers and people in IT, we think it could be useful for self-hosters and homelab enthusiasts too.

For example, in our past guides, we have referred to external websites to generate strong passwords and tokens. Now you can do that on your own infrastructure for improved security and privacy.

There are several great tools, including, a basic auth generator, date/time converter, QR code generator, Git cheatsheet, Crontab generator, Docker run to Docker Compose converter, IPv4 subnet calculator, and more.

In addition, the UI looks polished and cool. In our opinion, it is a great docker container for beginners to add to their collection.

37. Guacamole

Install Guacamole On Docker
Install Guacamole On Docker

Apache Guacamole uses HTML5 to access remote and virtual desktops through a web browser. Guacamole is a clientless remote desktop gateway that supports standard protocols like VNC, RDP, and SSH. It is a "clientless" web server because it has no plugins or client applications.

Guacamole requires 3 services: Guacamole, Guacamole Daemon, and a database. In the past installing Guacamole was a nightmare. If we had to pick one app that Docker has simplified the installation for, that would be Guacamole.

No more port forwarding for SSH, VNC, or RDP (you should be doing it for RDP and VNC anyways). You can install Guacamole, put it behind a reverse proxy like Traefik, and you have yourself a secure way to access all your system through web browser.

Guacamole Docker Compose can be found in Anand's Guacamole guide or his GitHub repo

38. qDirstat

Qdirstat - File And Folder Size
Qdirstat - File And Folder Size

QDirStat is one of many system utilities available as popular Docker images for home servers. It helps you to monitor your disk space and usage, providing you also with utilities for keeping your disk storage space organized and clean. The QDirStat UI is accessed through a web browser or a VNC client application.

If you are a home server owner, and something appears to be hogging your disk space, then qDirStat is a great way to troubleshoot.

qDirStat Alternative: ncdu (non-docker but an awesome light-weight commandline app)

39. Docker Garbage Collector

After a while of tinkering with docker containers, stored orphan images and volumes can take up several gigabytes of space. While you can use docker system prune, Docker garbage collector automates the job for you. A good Docker garbage collection example can be found in the recently posted article Docker Media Server guide.

The best Docker images for garbage collection are docker-gc and docker-gc-cron.

If you are considering docker-gc, one alternative you will immediately notice is spotify/docker-gc. However, spotify/docker-gc is no longer being developed. Using docker-gc-cron is a great alternative because it is actively developed and, in fact, uses spotify/docker-gc under the hood.

40. DDNS Updater

Docker Ddns Updater
Docker Ddns Updater

The qmcgaw/ddns-updater Docker container image is a lightweight universal DDNS Updater with web UI for reports. It updates Dynamic DNS from a large variety of service providers.

DDNS is more convenient and requires less support for considerably less cost than a static IP. A carrier-grade NAT from Verizon or T-Mobile uses a shared IP for many home internet devices and requires static IP mapping. A more practical solution for self-hosting on a CGNAT is DDNS.

DDNS works without an IP from an ISP that uses coaxial, ethernet, or fiber optic media connections. Though a DHCP IP address that comes from traditional ISPs rarely changes, they are not static. Typically, you have to purchase or lease a static IP, and your ISP might be able to provide you with one. [Read: Cloudflare Settings for Traefik Docker: DDNS, CNAMEs, & Tweaks]

More Apps (>41)

There are at least 20 more different Docker containers and their Docker Compose available in Anand's Github Repo.

All Docker Compose Files
All Docker Compose Files

Here are a few that are not listed in this article but availalbe in the repository:

  • Media/Music: Amache, Emby, Gonic, Navidrome, Funkwhale, Plex-Trakt-Sync, Tiny Media Manager
  • Monitoring: Cadvisor, ha-dockermon, Youtube-DL Material, Loki, Promtail, Smokeping, Varken, Lidarr Exporter, Node Exporter, Prowlarr Exporter, Radarr Exporter, Sabnzbd Exporter, Sonarr Exporter
  • DNS: Unbound
  • Web: php7, Nginx, Redis
  • Security: Crowdsec, Traefik Bouncer, Cloudflare Bouncer
  • File Managers: AutoIndex, Cloud9, Cloud-Commander, Dupeguru, PyRenamer
  • Photo Management: Digikam, Photoprism, Photoshow
  • Others: APCUPSD, AutoIndex, Autoscan, Cloud-Commander, Dupeguru, Flaresolver

FAQ

What is the best OS for home Docker server?

We believe Ubuntu Server or Debian are the best operating systems for a Docker server. But there are several customized home server operating systems such as open media vault, TrueNAS, and Unraid that make it simpler to maintain docker stacks.

Can you run Docker on a server?

Absolutely! Docker is made for servers and the best Docker containers are made to run faster in Docker than the server applications would without Docker. If you were to run all the same server software without Docker on a server machine, it would definitely not perform nearly as well as it does inside a Docker container.

Are Docker containers worth it?

Docker containers may occasionally require you to be more tech-savvy than you want to be, but in the end, it is well worth the journey. The increased performance, speed, and efficiency that come along with Dockerization easily make it worth the effort. While there are products you can buy from Docker, Inc., for the most part, Docker is free.

How many Docker containers can I run on a server?

CPU and memory usage can be capped, but to the host machine, each container is running as a command-line process without the need for a GUI. The difference is not exactly how many containers you have, but how many you are using at any one time. You will find that Docker simply makes more efficient use of your hardware. For example, Anand runs over 60 docker containers on this home server.

Closing Thoughts on Recommended Docker Images for Beginners

If you are planning to build a home server and you want it to run smoothly and be isolated from the host system, Docker is the ideal platform. One other great thing is if you make a mistake setting up a Docker container you can just scrap the container and start over.

This is much easier for a beginner than reinstalling an entire operating system when you cannot pinpoint the reason your server does not work.

The best Docker containers for home server may depend on your usage, but generally, Docker runs faster. It allows you to install all kinds of container apps. Instead of using more hardware for efficiency, Docker uses hardware more efficiently.

What we have provided is a highly subjective list of great apps for Docker home servers. But we believe that these apps should satisfy most typical homelabers and self-hosters. If you think another app must be on this list, feel free to share your thoughts in the comments section.

Be the 1 in 200,000. Help us sustain what we do.
114 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)

w3techie

I am a backend dev. I have done tech support for frontend devs. I have also done container development of every kind. I am an avid Linux user. Ask me anything about Linux or GNU open-source software, and I can tell you. I like to tinker and learn through formal education, and also like to learn things on my own. I have two degrees in web development and system administration. I have also done a lot of network admin, and have been a network technician before too. You know, getting on all fours and barking at Ethernet cords like a dog!

Try Deployarr