No description
Find a file
Brian Pooe 2f43ee7f11 Document UniFi Network 10.4.57 DNS DNAT limitation
Replace the DNAT implementation steps with an accurate account of what
works in UniFi Network 10.4.57: Dest. NAT only supports WAN port-forwarding
and cannot redirect internal VLAN DNS traffic. Document the deployed
DHCP enforcement approach as the current strategy and preserve the DNAT
field reference for when UniFi adds LAN-facing support.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 19:22:01 +02:00
docker-compose-files Document VLAN DNS DNAT rules and Caddy client VLAN access 2026-06-15 18:40:23 +02:00
docs Document UniFi Network 10.4.57 DNS DNAT limitation 2026-06-15 19:22:01 +02:00
.env.sample Update DNS host deployment details 2026-06-15 11:19:21 +02:00
.gitignore Feature-slice Caddy configuration 2026-06-13 17:47:19 +02:00
ipfconfig cleanup: remove retired service routes and references 2026-03-06 21:59:29 +02:00
README.md Standardize stack deployment guides 2026-06-15 10:53:29 +02:00
setup-homeassistant.sh Standardize stack deployment guides 2026-06-15 10:53:29 +02:00
setup-node-red.sh Standardize stack deployment guides 2026-06-15 10:53:29 +02:00
substitute_env.sh fix(substitute_env): ignore commented YAML placeholders and prevent unresolved-token loop hang 2026-03-31 22:22:46 +02:00

Homelab Blueprint

Docker Compose templates and deployment guides for self-hosted services.

Quick Start

Run repository commands from the project root:

cp -n .env.sample .env

Configure .env, then follow the README for the stack you want to deploy. Each guide explains appdata placement, template rendering, startup, verification, networking, troubleshooting, and backup.

Stacks

Stack Description
Arr Stack Media management, downloads, VPN, Emby, and Recyclarr
Beszel Agent Host and Docker monitoring agent
Beszel Socket Proxy Restricted Docker API access for Beszel
Caddy Reverse proxy with Cloudflare DNS-01
Gramps Web Genealogy web application
Home Assistant Home Assistant, Mosquitto, and Zigbee2MQTT
Node-RED Flow automation with Home Assistant integration
PostgreSQL PostgreSQL and pgAdmin
Technitium DNS DNS server and ad blocking
Vault HashiCorp Vault secrets management

Shared Commands

Most stacks use the following pattern:

./substitute_env.sh docker-compose-files/<stack>/template.yaml docker-compose.<stack>.yml .env
docker compose -f docker-compose.<stack>.yml config --quiet
docker compose -f docker-compose.<stack>.yml up -d

Home Assistant and Node-RED use their setup scripts instead. Arr Stack, Caddy, and Gramps Web render additional configuration templates.

Requirements

  • Linux host with Docker Engine and Docker Compose
  • Git
  • A configured .env based on .env.sample
  • Service-specific storage and network access described in each stack README

Generated docker-compose.*.yml files may contain secrets and are ignored by Git.

Operational Documentation