Docker: Expert Guides & Configuration Steps
Docker is one of the first things people learn about when they’re building their home lab or looking to self-host their own software. Simply put, Docker Containers will provide the best overall bang for your buck in terms of setup and accessibility. There are a lot of Docker Containers out there, and most of them have various different environment variables and steps for configuration, which can make them confusing.
I’ve been using Docker for over eight years, and have implemented more containers than I can count for my own home lab and for my clients’ home labs. These guides are designed to provide all of the steps needed and explain exactly why things are being done the way they are.
Why Should You Use Docker Containers?
Docker Containers are portable, lightweight, and standalone. Unlike virtual machines, containers share the resources with the host operating system. The portability means they can easily be migrated, backed up, and don’t require specific hardware. As long as you have your volume mounts (data) and Docker Compose files (configuration), you can migrate these containers to any hardware you’d like and they’ll continue to operate as expected!
Featured Content on Docker
Before you start configuring Containers, you need to install Docker somewhere. There are various places you can run Docker, and I’ve run Docker just about everywhere, but here are some guides to get you started:
- How to Configure Docker in Proxmox
- How to Use Docker on a Synology NAS
- How to Use Docker on TrueNAS Scale
- How to Use Docker on OpenMediaVault
- How to Install Docker and Portainer on Ubuntu
- How to Install Docker and Portainer on Debian
Getting Started with Docker
If you need help deciding which Container Manager to use, check out these articles:
Popular Docker Containers
One thing you’ll notice is that there are various systems below. Technically, all of these containers can be installed on whatever hardware you have running Docker, but some of these tutorials are more customized for the host operating system. With that said, the setup process will be the same on all hardware, it just might be a different UI.
- How to Configure Pi-hole and Unbound
- Setting up a Cloudflare Tunnel for Remote Access
- Configuring Tailscale for Remote Access
- Configuring Pi-hole on a Synology NAS
- Monitoring your Entire Home Lab with Uptime Kuma
- Configuring WG-Easy for Remote Access
- Installing Handbrake for Media Conversion
- Setting up Heimdall on a Synology NAS
- Setting up PhotoPrism on a Synology NAS
- Setting up Pi-hole on OpenMediaVault
- Setting up AdGuard Home on OpenMediaVault
- Configuring a Home Lab Dashboard with Homarr
- Local SSL Certificates for Home Lab Services
- Blue Iris Motion Notifications with Ntfy
- Installing Home Assistant on Portainer
- Installing Pi-hole on Portainer
Container Maintenance (Updates/Backups)
- How to Update a Container with Portainer
- How to Update Portainer
- How to Back up a Container
- How to Rename a Container
Community Resources
Just about every single Docker Container has its own resources, but there are some great global resources you can use. The Docker website has a great knowledge base you can use, and I’ve always been a big fan of r/Docker. Even better than that, if you’re looking for new Containers to implement, check out r/selfhosted!