This page is in English — onze technische documentatie voor ontwikkelaars en beheerders is in het Engels.

Relay Laatst gecontroleerd:

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:

PlatformSupported ArchitectureMinimum RAMNotes
Linux Server / VPSx86-64 (amd64), ARM64128 MB (256 MB recommended)Debian, Ubuntu, Rocky Linux, or Alpine
ASUSTOR NASx86-64 only128 MB adviceRequires ADM 5.1+ and Docker Engine app
Synology / QNAP NASNot yet——
Windows PCNot 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:

  1. Host record (relay.example.com) — points to your Relay server’s public IP address.
  2. Wildcard record (*.relay.example.com) — directs all dynamically generated subdomains (such as app.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:

ini

Dynamic 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:

ini

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:

PortProtocolInternal ServiceForwardedReachability & Purpose
2222TCPSSH listenerYesWhere connecting client machines establish reverse tunnels
8080TCPHTTP listenerOptionalInternal plain-HTTP listener (and /_relay/dashboard on Linux/Docker); mapped to public port 80 via Caddy or router port translation
8443TCPHTTPS listenerOptionalInternal HTTPS listener; mapped to public port 443 via Caddy or router port translation
80TCPPublic HTTPYesInbound HTTP traffic, HTTP-to-HTTPS redirect, and ACME HTTP-01 challenge
443TCPPublic HTTPSYesInbound HTTPS traffic for all published addresses (and /_relay/dashboard behind Caddy/HTTPS)
28080TCPSetup dashboard (ASUSTOR only)Yes (ASUSTOR only)ASUSTOR only: ADM reverse proxy HTTPS port for /_relay/dashboard
3478UDPSTUN / TURN controlYesControl port for NAT discovery and WebRTC call establishment
49152–49167UDPTURN media port rangeYes16 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, and 28080 on ASUSTOR only): Most consumer routers permit UPnP mappings for ports above 1024 without administrative intervention.
  • Low ports (80, 443): Many ISP-provided routers intentionally block UPnP requests for privileged ports below 1024, returning UPnPError 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:

  1. Direct forwarding: Forward port 2222/tcp (and port 28080/tcp on ASUSTOR only) to your Relay server’s LAN IP address.
  2. Port translation: Forward external port 80 to internal port 8080, and external port 443 to internal port 8443. This allows visitors to access published URLs without specifying custom port numbers.
  3. TURN media port range: If you enable TURN for calls through firewalls, forward the UDP port range 49152–49167 directly 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.