In this guide I’ll show you how to access containers outside your network using a Reverse Proxy. You will need to ensure you have port 443 forwarded on your router for this to work.
You can also check out Tailscale if you are not bothered by domain/hostnames and are happy to use an IP address to access your containers. I find Tailscale more secure and you don’t have to mess around with port forwards, it just works.
DDNS Setup
DDNS (Dynamic Domain Name System) simplifies connection to your Synology NAS over the Internet by mapping a hostname to its IP address. For example, DDNS allows you to access your Synology NAS using a domain name (e.g., www.neellik.synology.me) without needing to remember an IP address. This is also very handy if you do not have a static IP address
Go to Control Panel > External Access > DDNS. Click Add. A dialog box will appear prompting you to edit the following settings
Service Provider | Synology |
Hostname | Choose your domain. i.e neellik.synology.me |
Enter your Synology email address | |
Heartbeat | Enable this |
External Address (IPv4 & IPv4) | This field should be auto filled in |
Click Test Connection to check everything is working ok.
Tick the checkbox for Request a certificate from Let’s Encrypt and set it as default to apply a Let’s Encrypt SSL certificate for your Synology DDNS and set it as the default certificate for DSM. However, if an SSL certificate is already matched for your DDNS hostname, the checkbox will be disabled. Press OK.
Reverse Proxy Setup
Head into Control Panel > Login Portal > Advanced. Click Reverse Proxy and then click Create. We are going to go ahead and fill in the boxes.
Reverse Proxy Name | Navidrome (Insert the name of the service you are setting up) |
Protocol | HTTPS |
Hostname | navidrome.yourhostname.synology.me – Your hostname is the name we registered under DDNS Setup. For me I’d use navidrome.neellik.synology.me |
Port | 443 |
Protocol | HTTP |
Hostname | localhost or your Synology IP address |
Port | 4533 – This is the port that I have Navidrome running on. You will change this port to reflect the container you are pointing to. |
Now click into the Custom Header tab. Click Create and select Web Socket. The fields will automatically populate. Press Save. That’s it, you can now access your container using the address https://navidrome.yourhostname.synology.me