Skip to Content
🚀 We just launched! Please star us on Github!
DocumentationGet StartedNetwork Requirements

Network Requirements

Smart Panel relies on local network communication to discover and control your devices. This page explains what your network needs to support for everything to work properly.


Required Ports

PortProtocolServiceRequired?
3000TCPBackend HTTP server & Admin UIYes
5353UDPmDNS (.local hostname resolution)Recommended
VariousTCPWebSocket connections to devicesYes

Port 3000 is the default. You can change it via the FB_BACKEND_PORT environment variable or in your docker-compose.yml configuration.


mDNS (Multicast DNS)

Smart Panel uses mDNS for two purposes:

  1. Hostname resolution — so you can access http://smart-panel.local:3000 from your browser
  2. Device discovery — plugins like Shelly use mDNS to automatically find devices on the network

Requirements for mDNS

  • Devices must be on the same subnet (same VLAN / broadcast domain)
  • Your router must allow multicast traffic on UDP port 5353
  • On Windows, you may need Bonjour installed

Common mDNS issues

ProblemCauseSolution
.local domain doesn’t resolvemDNS not supported on clientUse the IP address directly instead
Shelly devices not discoveredDevices on different VLANMove devices to the same subnet as Smart Panel
Intermittent discoveryRouter blocking multicastEnable IGMP snooping or allow multicast on the network
⚠️

Many home networks with IoT VLANs or guest network isolation will block mDNS traffic between segments. If you use network segmentation, ensure Smart Panel and your IoT devices share the same broadcast domain, or configure an mDNS reflector/repeater.


Firewall Configuration

If you run a firewall on the Raspberry Pi (e.g., UFW), allow the required ports:

sudo ufw allow 3000/tcp comment "Smart Panel" sudo ufw allow 5353/udp comment "mDNS"

Device Communication

Different plugins communicate with devices in different ways:

PluginProtocolNotes
Shelly (NG)WebSocket + mDNSRequires same subnet for discovery
Home AssistantHTTP REST APIOnly needs network route to HA instance
Third-PartyManualDevices are created manually, no network discovery

Reverse Proxy

If you run Smart Panel behind a reverse proxy (nginx, Caddy, etc.), you must forward WebSocket connections:

location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; }
⚠️

Without WebSocket forwarding, the panel display will not receive real-time updates from the backend.


What’s Next?

Last updated on