Planning a Deployment¶
This guide covers everything you need to know before deploying Normal Framework at a site. Use it as a checklist to make sure your hardware, network, and licensing are ready.
Hardware Sizing¶
NF runs on modest hardware. The primary factors that affect sizing are the number of points being polled and the data retention period.
| Site Scale | Points | CPU | RAM | Storage | Example |
|---|---|---|---|---|---|
| Small | < 5,000 | 2 cores | 4 GB | 32 GB | Single building, one BACnet network |
| Medium | 5,000--50,000 | 4 cores | 8 GB | 64 GB | Campus or large commercial building |
| Large | 50,000--200,000 | 8 cores | 16 GB | 128 GB+ | Hospital, data center, or large portfolio site |
Tip
NF's BACnet stack is highly optimized -- sites with 100,000+ objects can be scanned in minutes. CPU and RAM needs are driven more by concurrent polling load than by point count alone.
Storage notes:
- Redis (NF's data store) keeps point metadata and recent time-series in memory. Plan for roughly 1 KB per point of RAM for metadata.
- Time-series retention is configurable. The default keeps data locally before forwarding to a cloud or historian. Size storage based on your retention window and polling frequency.
- A persistent volume is required at
/var/nf(soft state) and Redis's/datadirectory. Both should be on reliable storage with backups.
Network Requirements¶
Protocol Access¶
NF communicates with building devices over standard protocols. Ensure network access between the NF host and your device networks:
| Protocol | Default Port | Transport | Notes |
|---|---|---|---|
| BACnet/IP | UDP 47808 | UDP | NF needs to be on the same subnet or have a BBMD/BACnet router |
| BACnet/SC | TCP 443 | TLS/WebSocket | Secure BACnet over TLS; firewall-friendly |
| Modbus TCP | TCP 502 | TCP | Direct connection to each Modbus device |
| Fox (Niagara) | TCP 1911 / 4911 | TCP | Fox or Foxs (TLS) to Niagara stations |
NF Service Ports¶
| Port | Service | Direction |
|---|---|---|
| TCP 8080 | Management console & API gateway | Inbound (browser, API clients) |
| TCP 6379 | Redis | Internal only (NF ↔ Redis) |
Upstream Connectivity¶
If you plan to use cloud features, NF needs outbound HTTPS access to:
| Destination | Purpose |
|---|---|
portal.normal-online.net |
Licensing, fleet management |
| Your MQTT broker | Sparkplug telemetry (if configured) |
| Your cloud historian | Time-series export (if configured) |
Docker networking
The NF Docker container uses network_mode: host to properly handle
BACnet traffic. This means the container shares the host's network
stack -- no port mapping is needed, but the host ports listed above
must be available.
Network Topology Recommendations¶
graph TB
subgraph "Building Network"
A[BACnet/IP Devices] --- B[Building Network Switch]
M[Modbus Devices] --- B
end
B --- C[NF Host]
C --- D[Upstream / Corporate Network]
D --- E[Normal Portal]
D --- F[Cloud / Historian]
- Dedicated NIC or VLAN for BACnet traffic is recommended on medium and large sites to isolate building automation traffic.
- If BACnet devices span multiple subnets, configure a BBMD or use BACnet/SC.
- For remote management, consider Tailscale for secure access without opening inbound firewall rules.
Choosing a Deployment Method¶
| Method | Best For | Prerequisites |
|---|---|---|
| NF Gateway | Turnkey hardware -- plug in and go | None (hardware provided by Normal Software) |
| Docker | Most software deployments -- quick setup, easy updates | Linux host with Docker Engine |
Fastest path to production
If you don't want to manage your own hardware and OS, the NF Gateway is the easiest option -- Normal Software ships you a pre-configured device that's ready to connect to your building network.
NF Gateway Appliance¶
Normal Software offers a pre-built hardware gateway that ships with NF pre-installed and configured. This is the fastest path from purchase to data collection.
What you get:
- Industrial-grade IoT gateway hardware (ARM64-based)
- NF, Redis, and all services pre-installed
- BLE-based initial configuration via the NF Config mobile app (iOS) -- configure WiFi, network settings, and view diagnostics without needing a laptop
- Over-the-air updates managed via Balena fleet management
- Enterprise auto-provisioning -- the device self-licenses on first boot
Setup flow:
- Connect the gateway to your building network (Ethernet) and power it on.
- Open the NF Config mobile app and connect to the gateway via Bluetooth.
- Configure network settings (WiFi, static IP, or DHCP) if needed.
- The gateway auto-provisions its license and appears in your Normal Portal fleet.
- Access the management console from any browser on the same network.
When to choose the gateway:
- You want a plug-and-play experience with no OS or container management
- You're deploying across multiple sites and want fleet-managed updates
- Your team doesn't have Linux/Docker expertise on-site
- You want BLE-based setup without needing to connect a laptop
Contact Normal Software to order gateways for your deployment.
Minimum Docker Host Requirements¶
- Docker Engine 20.10+ (or Podman 4.0+)
- Linux kernel 4.18+ (for full BACnet support)
network_mode: hostsupport (standard on Linux; not available on Docker Desktop for Mac/Windows -- use a Linux VM for production)
Licensing¶
NF requires a license to operate. There are three license types:
| Type | Duration | Best For |
|---|---|---|
| Demo | Fixed expiration (typically 30 days) | Evaluation and proof-of-concept |
| Subscription | Renewable (monthly/annual) | Single-site production deployments |
| Enterprise | Perpetual (while tenant is active) | Multi-site fleet with auto-provisioning |
Getting a License¶
- Sign up at portal.normal-online.net to create your organization.
- Create a license for your deployment (demo, subscription, or enterprise).
- Activate using one of two methods:
- Manual activation: Generate an 8-character code in the portal, then enter it in the NF management console. See Licensing for the full flow.
- Auto-provision (enterprise): Set the
AUTO_PROVISION_KEYenvironment variable and devices self-register on first boot.
Evaluation
Contact Normal Software to request a demo license if you want to evaluate NF before committing to a subscription.
Pre-Deployment Checklist¶
Use this checklist before you begin installation:
- [ ] Hardware provisioned -- CPU, RAM, and storage meet the sizing guidelines above
- [ ] Operating system ready -- Linux host with Docker installed
- [ ] Network access verified -- NF host can reach building devices on the required protocol ports
- [ ] Upstream connectivity -- NF host can reach
portal.normal-online.netover HTTPS - [ ] License ready -- Portal account created and license available for activation
- [ ] Firewall rules -- TCP 8080 open for management console access from your workstation/browser
- [ ] Backup plan -- Persistent volumes identified for
/var/nfand Redis/data; backup schedule in place - [ ] Credentials -- Decided on console authentication method
(
CONSOLE_USERNAME/CONSOLE_PASSWORDor OIDC)
What's Next?¶
Once you've checked the boxes above, proceed to deployment:
- Quick Start -- Deploy NF and collect your first data in 30 minutes
- Docker Deployment -- Detailed Docker setup reference
- Licensing -- Full licensing activation walkthrough