Here's the step-by-step implementation plan:
-
Domain Setup:
- Choose a domain (e.g., home.yourdomain.com) for your local services
- Configure Cloudflare DNS for your public domain
- Set up individual subdomains (e.g., sonarr.home.yourdomain.com, freshrss.home.yourdomain.com)
-
Local DNS Server Setup:
- Install Pi-hole or AdGuard Home as your local DNS server
- Configure your router to use this local DNS server as the primary DNS
- Add local DNS records to override Cloudflare:
sonarr.home.yourdomain.com -> 192.168.1.x (Unraid IP) freshrss.home.yourdomain.com -> 192.168.1.x auth.home.yourdomain.com -> 192.168.1.x
-
Nginx Proxy Manager Setup on Unraid:
- Install Nginx Proxy Manager container
- Create proxy hosts for each service:
sonarr.home.yourdomain.com -> container_ip:port freshrss.home.yourdomain.com -> container_ip:port
- Enable SSL for local domains using Let's Encrypt DNS validation
-
Authentik Configuration:
- Set up Authentik container
- Configure outpost for proxy authentication
- Create providers for each application
- Set up proxy protection rules
-
Container Configuration:
- Ensure containers only listen on internal network
- Update Unraid template settings:
network_mode: bridge ports: - '127.0.0.1:port:port'
This setup ensures:
- Services are only accessible locally
- Domain names work both inside and outside your network
- Single sign-on through Authentik
- Secure SSL encryption for all services