Requirements and Network Architecture
Machine specifications, domain requirements, DNS records, ports table, and router forwarding guidelines.
Hardware and system requirements
Before installing Viaalink Relay, ensure your host machine meets the following platform and system specifications:
| Platform | Supported Architecture | Minimum RAM | Notes |
|---|---|---|---|
| Linux Server / VPS | x86-64 (amd64), ARM64 | 128 MB (256 MB recommended) | Debian, Ubuntu, Rocky Linux, or Alpine |
| ASUSTOR NAS | x86-64 only | 128 MB advice | Requires ADM 5.1+ and Docker Engine app |
| Synology / QNAP NAS | Not yet | — | — |
| Windows PC | Not yet | — | — |
Domain and DNS requirements
Viaalink Relay requires a domain name you control (for example example.com). To route incoming traffic and issue automatic wildcard certificates via Let’s Encrypt, configure two DNS records:
- Host record (
relay.example.com) — points to your Relay server’s public IP address. - Wildcard record (
*.relay.example.com) — directs all dynamically generated subdomains (such asapp.relay.example.com) to your Relay.
Static public IP (A and AAAA records)
If your ISP or hosting provider provides a static IPv4 address (and optionally IPv6), create direct address records:
relay.example.com. 300 IN A 203.0.113.10
*.relay.example.com. 300 IN A 203.0.113.10
relay.example.com. 300 IN AAAA 2001:db8::10
*.relay.example.com. 300 IN AAAA 2001:db8::10Dynamic IP (CNAME records)
If you run Viaalink Relay on a home connection or NAS with dynamic IP tracking (such as ASUSTOR EZ-Connect yourname.myasustor.com), point both host and wildcard records using CNAME:
relay.example.com. 300 IN CNAME yourname.myasustor.com.
*.relay.example.com. 300 IN CNAME yourname.myasustor.com.Important: If you manage your DNS with Cloudflare, set both records to DNS only (grey cloud). Proxied records (orange cloud) intercept inbound traffic at Cloudflare’s edge and break on-demand Let’s Encrypt TLS validation.
Port reference table
The following table lists every port used by Viaalink Relay, whether it requires external router forwarding, and its purpose:
| Port | Protocol | Internal Service | Forwarded | Reachability & Purpose |
|---|---|---|---|---|
2222 | TCP | SSH listener | Yes | Where connecting client machines establish reverse tunnels |
8080 | TCP | HTTP listener | Optional | Internal plain-HTTP listener (and /_relay/dashboard on Linux/Docker); mapped to public port 80 via Caddy or router port translation |
8443 | TCP | HTTPS listener | Optional | Internal HTTPS listener; mapped to public port 443 via Caddy or router port translation |
80 | TCP | Public HTTP | Yes | Inbound HTTP traffic, HTTP-to-HTTPS redirect, and ACME HTTP-01 challenge |
443 | TCP | Public HTTPS | Yes | Inbound HTTPS traffic for all published addresses (and /_relay/dashboard behind Caddy/HTTPS) |
28080 | TCP | Setup dashboard (ASUSTOR only) | Yes (ASUSTOR only) | ASUSTOR only: ADM reverse proxy HTTPS port for /_relay/dashboard |
3478 | UDP | STUN / TURN control | Yes | Control port for NAT discovery and WebRTC call establishment |
49152–49167 | UDP | TURN media port range | Yes | 16 dedicated UDP ports for media traffic during calls through firewalls |
Router port forwarding: UPnP vs manual rules
To make your published addresses accessible outside your local network, your router must route incoming traffic to your Relay server.
Automatic forwarding (UPnP and EZ-Router)
Viaalink Relay can automatically request port mappings from your router using standard Universal Plug and Play (UPnP) or ASUSTOR’s native EZ-Router service:
- High ports (
2222,3478, and28080on ASUSTOR only): Most consumer routers permit UPnP mappings for ports above1024without administrative intervention. - Low ports (
80,443): Many ISP-provided routers intentionally block UPnP requests for privileged ports below1024, returningUPnPError 606 "Action not authorized".
Manual forwarding and port translation
When your router does not support UPnP or rejects low-port mapping requests, configure static port forwarding rules in your router’s administration interface:
- Direct forwarding: Forward port
2222/tcp(and port28080/tcpon ASUSTOR only) to your Relay server’s LAN IP address. - Port translation: Forward external port
80to internal port8080, and external port443to internal port8443. This allows visitors to access published URLs without specifying custom port numbers. - TURN media port range: If you enable TURN for calls through firewalls, forward the UDP port range
49152–49167directly to your Relay. UPnP does not support port ranges, so this range must always be forwarded with a manual static rule.
Tip: Always verify external port access from a mobile phone connected to cellular data. Requests originating from inside your local network can be looped back by router NAT hairpinning, giving the false impression that a port is open to the internet when it is not.