NSL Router provides free HTTPS subdomains for your Unraid server through the nsl.sh service. No port forwarding, no DNS configuration, no certificates to manage - just clean, secure URLs for all your applications.
Get started in 3 steps:
- Install NSL Router from Community Applications
- Choose your subdomain (e.g.,
mynas.nsl.sh) - Your apps automatically get HTTPS URLs!
- 🆓 Free service - No subscription, no hidden costs
- 🔒 Automatic HTTPS - SSL/TLS certificates managed automatically
- 🌍 Access from anywhere - No VPN client needed on remote devices
- 🚫 No port forwarding - Works behind CGNAT and strict firewalls
- 🔐 WireGuard secured - Connection encrypted with VPN technology
- 🎯 Clean URLs -
appname.username.nsl.shinstead ofIP:PORT - ⚡ Automatic routing - Container names become subdomains
- 🐳 Zero configuration - Works with any Docker container
- Open Unraid WebGUI
- Go to Apps tab
- Search: "NSL Router"
- Click Install
- Configure:
- Subdomain Name: Choose unique name (e.g.,
mynas) - Provider URL: Leave default
https://nsl.sh - Default App (optional): Main app to redirect to
- Subdomain Name: Choose unique name (e.g.,
- Click Apply
- Done! Your domain is
yourname.nsl.sh
Apps → Settings → Template repositories:
https://github.com/Yundera/unraid-templates
Once installed, your apps are automatically accessible:
Container name: jellyfin → https://jellyfin.mynas.nsl.sh
Container name: nextcloud → https://nextcloud.mynas.nsl.sh
Container name: plex → https://plex.mynas.nsl.sh
Container name: portainer → https://portainer.mynas.nsl.sh
Set Default App:
- Configure
DEFAULT_HOST=jellyfin - Main domain redirects:
https://mynas.nsl.sh→ Jellyfin
| Setting | Value | Notes |
|---|---|---|
| Subdomain Name | Your choice | Must be unique globally |
| Provider URL | https://nsl.sh |
Official provider |
| WireGuard Port | 51820/udp |
Do not change |
Your apps must:
- ✅ Be on same Docker network as NSL Router (usually
bridge) - ✅ Expose port 80 internally
- ✅ Have a container name (this becomes subdomain)
- Bridge (most common) - Default, works for most users
- Custom network - Advanced users can specify network name
Check 1: Same network?
docker network inspect bridgeNSL Router and your app should both be listed.
Check 2: Port 80 exposed?
docker port [container-name]Should show port 80.
Check 3: NSL Router logs
docker logs nsl-routerLook for: Successfully registered with provider
Subdomain names are first-come-first-served. Try:
- Add numbers:
mynas2,mynas2024 - Add location:
home-server,lab-server - Use initials:
jsmith-nas
- Check firewall allows UDP port 51820
- Restart NSL Router container
- Check logs for error messages
NSL Router uses self-signed certificates between your server and nsl.sh provider. This is normal and secure. Browsers see valid Let's Encrypt certificates from nsl.sh.
If your apps use custom networks (e.g., proxy, web):
- Edit NSL Router template
- Change Network from
bridgeto your network name - Click Apply
- Restart container
For apps on different networks, you can:
- Run multiple NSL Router instances (different subdomain per network)
- Connect NSL Router to multiple networks
Your Browser
↓ HTTPS (Let's Encrypt cert)
nsl.sh Provider (Nginx + WireGuard)
↓ WireGuard VPN (encrypted)
NSL Router on your Unraid
↓ HTTP (internal network)
Your Apps
- ✅ Your server IP is hidden behind nsl.sh
- ✅ End-to-end encryption via WireGuard VPN
- ✅ No user data stored on nsl.sh servers
- ✅ Open source - audit the code yourself
- ✅ Self-hosted routing - only metadata passes through provider
- Your chosen subdomain name
- Timestamp of connections
- Bandwidth usage (for abuse prevention)
- Your actual IP address (protected by WireGuard)
- Content of your traffic (encrypted)
- Your app data
- Which specific apps you're running
Before posting:
- Check troubleshooting section above
- Review logs:
docker logs nsl-router - Verify network configuration
When posting:
- Include container logs (remove sensitive info)
- Describe your network setup
- List affected apps
Support Channels:
- 💬 This forum thread - Unraid-specific help
- 🎮 Discord: discord.gg/QJyuNDXuFa
- 🐛 GitHub Issues: github.com/Yundera/mesh-router/issues
- 📖 Documentation: github.com/Yundera/mesh-router/tree/main/unraid
- NSL.SH - Free domain service
- Mesh Router - Core routing technology
- CasaIMG - CasaOS in Docker
- Yundera AppStore - 150+ apps for CasaOS
NSL Router and nsl.sh are free and open source. If you find them useful:
- ⭐ Star on GitHub
- 💰 Sponsor development
- 📢 Share with others
- 🐛 Report bugs
- 🔧 Contribute code
- NSL Router: MIT License
- Templates: MIT License
- nsl.sh Service: Free for personal and commercial use
- Website: yundera.com
- Discord: discord.gg/QJyuNDXuFa
- GitHub: github.com/Yundera
- Email: Contact via GitHub or Discord
Version: 1.0
Last Updated: December 31, 2024
Maintained by: Yundera Team
- ✅ Free HTTPS subdomain support
- ✅ WireGuard VPN encryption
- ✅ Automatic routing for all containers
- ✅ Bridge and custom network support
- ✅ Optional default app configuration
- ✅ Comprehensive logging and error handling
Thank you for using NSL Router! 🚀
If this template helped you, please consider leaving feedback or starring the project on GitHub.