Skip to content

Ports and protocols

Every NovaVMS component listens on a specific port. This page lists them all so you can open firewalls or diagnose connectivity.

Component ports

PortProtocolComponentDirectionConfigurable viaNotes
443TCPFrontend / API ingress (Caddy)Inbound from browsers and gatewaysReverse-proxy configTLS terminates here in production.
5200TCPFrontend dev server (Vite)Inbound (dev only)vite.config.tsLocal development only.
8090TCPCloud backend REST API + WebSocketInbound from browsers, gateways, service accountsSERVER_ADDRProduction default is 127.0.0.1:8090 behind Caddy.
8554TCPRTSP server (go2rtc)Inbound from cameras and playback clientsgo2rtc configUsed in direct-mode streaming and relay.
8555UDPWebRTC media (go2rtc)Bidirectional with browsersgo2rtc configICE candidate transport.
11984TCPgo2rtc HTTP APILoopback onlyGO2RTC_ADDRStream management. Not exposed publicly.
3478UDPTURN relay control (Pion)Inbound from browsers behind strict NATTURN_ADDRUsed only when direct P2P fails after 5 s.
49152 - 49252UDPTURN relay media portsBidirectionalTURN_RELAY_MIN_PORT, TURN_RELAY_MAX_PORTAllocate the whole range.
5432TCPPostgreSQLLoopback only (prod); dev uses 5434DATABASE_URLNot exposed to the internet.
5434TCPPostgreSQL (dev override)Loopback onlyDATABASE_URLUsed when port 5432 is occupied on the dev host.
9000TCPMinIO S3 APILoopback onlyMINIO_ENDPOINTPlanned for v2; not in production.

Firewall rules for a typical install

  • Browser -> cloud frontend: allow inbound TCP 443 on the public IP that serves novavms.novalien.com.
  • Browser -> WebRTC: allow inbound and outbound UDP 8555 and UDP 49152-49252 on the cloud server.
  • Gateway -> cloud: allow outbound TCP 443 on the gateway host (WebSocket + API over TLS).
  • Camera -> gateway: allow inbound TCP 554 (RTSP) and UDP 3702 (ONVIF WS-Discovery) on the gateway LAN.
  • Gateway -> cameras: allow outbound TCP 80, 443, 554, and the camera’s ONVIF port (often 2020) on the gateway host.
  • Cloud -> TURN: leave UDP 3478 inbound open on the cloud server for clients behind strict NAT.
  • Between cloud and database: loopback only, no external rule needed.