Docker Compose Production Patterns for Homelabs — Healthchecks, Profiles, Secrets

Practical Docker Compose patterns for reliable homelab deployments. Healthchecks, conditional dependencies, profiles for optional services, secrets management, extension fields, and restart policies with real compose files.

May 13, 2026 · 12 min · 2496 words · GnTech

Docker MACVLAN and IPVLAN — Giving Containers Real LAN IPs in Your Homelab

Step-by-step Docker MACVLAN and IPVLAN guide — give containers real LAN IPs for Pi-hole, Home Assistant, Scrypted. Host communication fix, Proxmox gotcha, multi-network Compose examples.

May 13, 2026 · 10 min · 2007 words · GnTech

Docker Container Resource Limits — CPU, Memory, and I/O Constraints for Homelabs

Practical Docker container resource limits guide for homelabs — CPU quota/pinning, memory hard/soft limits, swap control, block I/O throttling, cgroup v2 differences, and Docker Compose examples.

May 13, 2026 · 9 min · 1815 words · GnTech

Linux Sysctl Kernel Tuning for Homelabs — Network, Memory, and Docker Performance

Complete Linux sysctl kernel tuning guide for homelab servers. Network buffers, BBR congestion control, OOM management, fs.inotify limits, and Docker-specific sysctl configs.

May 13, 2026 · 12 min · 2356 words · GnTech

Auto-Update Docker Containers — Watchtower with Selective Rules, Notifications, and Graceful Rollouts

Keeping Docker containers updated is the kind of chore you automate once and forget about — until a container silently runs a four-month-old image with five CVEs because you forgot to docker compose pull && up -d. Watchtower solves this. It watches your running containers, checks for new images, and restarts them with the latest tag — all on a cron schedule. But a naive “update everything” setup will break your database container and nuke your uptime. ...

May 11, 2026 · 9 min · 1777 words · GnTech

Docker Bypasses UFW — How to Fix Firewall Rules Properly

Publishing a Docker port can make it reachable even when UFW says incoming traffic is denied. Docker routes published bridge-network traffic through NAT and forwarding rules; UFW’s host INPUT policy does not provide the access control you might expect. This guide separates two jobs: limiting where a port is published, and filtering which clients can reach it. Binding to a LAN address reduces exposure, but does not make UFW’s host-input rules control forwarded container traffic. ...

May 10, 2026 · 4 min · 757 words · GnTech

Traefik as a Reverse Proxy for Docker — Automatic TLS, Routing, and Middleware

If your Docker homelab has more than three web services, you need a reverse proxy. Without one, every container exposes its own port, you manage certificates by hand (or skip HTTPS entirely), and changing a service’s URL means editing Nginx configs and reloading. Traefik solves all of this. It watches the Docker socket, discovers new containers automatically, provisions Let’s Encrypt certificates for any hostname you define via Docker labels, and handles middleware (auth, rate limiting, headers) without touching a static config file. ...

May 9, 2026 · 10 min · 2076 words · GnTech

Docker Compose Patterns for Homelab Stacks

Use a small, complete stack to learn the deployment workflow. Then add only the networking, storage, and secret-handling features the application needs. Group services by ownership and lifecycle. A Compose project can contain several services, and you can operate on one service without restarting the whole project. Fixed container names are optional and can cause collisions or prevent scaling; service names are usually sufficient. Verification status Area Evidence and limits Technical review Official Docker documentation reviewed on October 31, 2026. Static checks Bash syntax and embedded Compose YAML checked. Runtime Docker unavailable in this review environment; no Compose CLI validation, image pull, HTTP request, or resource test executed. Example scope Disposable static HTTP lab on Linux, not a captured production stack. 1. Start with one complete project This demo uses BusyBox’s HTTP server and wget probe, a read-only content mount, loopback publishing, log rotation, and explicit resource limits. Use Bash and have curl installed on the host. ...

May 8, 2026 · 6 min · 1113 words · GnTech

Proxmox LXC vs Docker — Picking the Right Container for Every Homelab Job

If you run Proxmox VE, you’ve got two container runtimes at your fingertips — LXC (built into Proxmox) and Docker (nested in an LXC or VM). Both are “containers” in the broad sense, but they solve different problems. Picking wrong means performance you don’t need or isolation you don’t have. This post walks through the decision criteria, backed by configs from an existing homelab running Proxmox 8.x with VLAN segmentation. ...

May 8, 2026 · 5 min · 985 words · GnTech

Local Docker Registry Mirror — Cache Images and Speed Up Your Lab

Docker Hub rate-limits anonymous pulls to 100 per 6 hours (200 for authenticated users). In a homelab with frequent rebuilds, multiple hosts, or CI-style workflows, you’ll hit that limit fast. Even if you don’t, pulling the same nginx:alpine image ten times across ten containers wastes bandwidth and time. A local Docker registry mirror fixes both: it acts as a pull-through cache. First pull is from Docker Hub (or any upstream). Every subsequent pull from any host in your lab hits the local cache instead. ...

May 8, 2026 · 6 min · 1193 words · GnTech