How to Use Podman for Home Lab Setup
Skip to main content
Sign<br>in<br>Sign up
Close menu
Enterprise
DevOps
SRE
Platform
Pricing
Docs
Request Demo
Support
Sign<br>up
Existing customer?<br>Sign in
Products
Explore the OneUptime platform
One platform for monitoring, observability & incident response.
⌘K
AI
Investigates incidents with AI and turns findings into fix pull requests for your review.
Essentials
Monitoring
Uptime & synthetic checks
Status Page
Communicate incidents to users
Incidents
Detect, manage & resolve
On-Call & Alerts
Smart routing & escalations
Scheduled Maintenance
Plan & communicate downtime
Observability
Observability
Logs, metrics & traces in one
Topology
Service, infra & network maps
Logs
Fastest log ingest & search
Metrics
Application & infra metrics
Traces
Distributed request tracing
Exceptions
Error tracking & debugging
Profiles
CPU & memory profiling
RUM
Real user monitoring
Infrastructure
Services
Catalog every service you run
Kubernetes
Cluster & pod observability
Docker
Host & container observability
Podman
Host & container observability
Hosts
Auto-discovered server metrics
Proxmox
VE clusters, VMs & backups
AI / LLM Observability
Tokens, cost, traces & prompts
Ceph
Storage cluster health
Docker Swarm
Nodes, services, tasks & stacks
IoT Devices
Fleets, sensors & gateways
Network Devices
Switches, routers & firewalls
Serverless
Functions & cold starts
Cloud
AWS, GCP & Azure
Automation & Analytics
Workflows
No-code automation builder
Runbooks
Auto-trigger response steps
Dashboards
Custom data visualizations
No products found
100% Open Source
Self-host or use our cloud
esc
How to Use Podman for Home Lab Setup
Learn how to build a home lab using Podman to run services like DNS, VPN, dashboards, and monitoring tools in rootless containers on a single machine.
By @nawazdhandala
Mar 18, 2026
Reading time
Podman
Home Lab
Self-Hosting
Container
Homelab
On this page
Podman is ideal for home labs because it runs without a daemon, supports rootless containers, and integrates with systemd to start services automatically on boot.
A home lab is a personal environment for running self-hosted services, learning new technologies, and having full control over your infrastructure. Podman is an excellent choice for home labs because it requires no background daemon, runs containers as your regular user, and uses fewer resources than alternatives that need a persistent service.<br>This guide walks through setting up a complete home lab with Podman, covering essential services like DNS ad-blocking, reverse proxying, monitoring, and dashboards.<br>Planning Your Home Lab<br>A typical home lab includes several categories of services:<br>Network services: DNS, VPN, reverse proxy<br>Monitoring: uptime checks, resource monitoring<br>Media: streaming, photo management<br>Productivity: note-taking, bookmarks, password management<br>Infrastructure: container registry, backup services<br>Podman can run many of these in rootless containers, but services that need privileged ports or extra kernel networking capabilities may still require additional host configuration or rootful containers.<br>Setting Up the Foundation<br>Start by creating a dedicated network for your home lab services:<br>podman network create homelabIf you want rootless containers to bind directly to DNS and HTTP/S on ports 53, 80, and 443, lower the unprivileged port floor on the host first:<br>sudo sysctl -w net.ipv4.ip_unprivileged_port_start=53Make this change persistent in /etc/sysctl.d/ if you want these services to keep working after a reboot.<br>Set your default container configuration for consistent behavior:<br>mkdir -p ~/.config/containers<br>cat > ~/.config/containers/containers.conf Pi-hole for DNS Ad-Blocking<br>Pi-hole blocks ads and trackers at the DNS level for your entire network:<br>podman run -d \<br>--name pihole \<br>--network homelab \<br>-p 53:53/tcp -p 53:53/udp \<br>-p 8053:80 \<br>-e TZ=America/New_York \<br>-e WEBPASSWORD=adminpass \<br>-v pihole-data:/etc/pihole:Z \<br>docker.io/pihole/pihole:latestAccess the Pi-hole dashboard at http://localhost:8053/admin. Point your router's DNS settings to your home lab's IP address to filter ads for all devices on your network.<br>Reverse Proxy with Traefik<br>Traefik routes traffic to your services based on configuration files:<br>mkdir -p ~/homelab/traefik/dynamic
cat > ~/homelab/traefik/traefik.yml ~/homelab/traefik/dynamic/services.yml Homepage Dashboard<br>Set up a dashboard to see all your services at a glance:<br>mkdir -p ~/homelab/homepage
cat > ~/homelab/homepage/services.yaml Uptime Monitoring with Uptime Kuma<br>Monitor the availability of all your home lab services:<br>podman run -d \<br>--name uptime-kuma \<br>--network homelab \<br>-p 3001:3001 \<br>-v uptime-kuma-data:/app/data:Z \<br>docker.io/louislam/uptime-kuma:2Access at http://localhost:3001 and add monitors for each of your services.<br>System Monitoring with Grafana and Prometheus<br># Prometheus
mkdir -p ~/homelab/prometheus
cat >...