selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

NetworkOptimizer logo

Self-host NetworkOptimizer

v2.10.2

UniFi network optimization, monitoring, and security audit

ReleaseSource AvailableOther
Updated10 hours ago
LanguageC#
Setup difficultyModerate
MobilePWA
Stars
1 210
Ports
8042 (main web UI), 8043 (on-site agent tunnel), 5201 (iperf3 server for LAN speed testing)
Requires
UniFi Console/Controller
Docker
ghcr.io/ozark-connect/network-optimizer
Install with Docker Compose
Network Optimizer dashboard with threat trends, live WAN and gateway telemetry, ONT optical stats, and cellular signalSecurity Audit scoring a network 73 of 100 with 21 recommended findings, each with device context and a specific fixFirmware Rollout wizard Schedule step with start-time slider and live finish estimateFirmware Rollout Autopilot planning rollouts into quietest window with 12-hour heads-upRollout Report showing three switches upgraded in 26 minutes with before/after CPU and memoryChannel Analysis showing recommended 2.4 GHz plan scoring 14.5 against current 16.7 with three APs moving channelRF Environment showing 12 neighboring networks detected on 5 GHz with per-channel density and DFS availabilitySpeed/Coverage Map with 139 GPS-tagged LAN speed tests plotted on property color-coded by measured throughputClient WAN speed test at 996.7 Mbps down with 30-day trend, hop-by-hop path trace, and bottleneck flagged

What is NetworkOptimizer?

Network Optimizer for UniFi is a self-hosted management platform that connects to your UniFi Console to analyze configuration, monitor performance, and automate improvements. It runs 83 automated security checks that examine firewall rules, VLANs, DNS, ports, and UPnP, scoring your network 0-100 with specific remediation steps. The Wi-Fi Optimizer models radio frequency physically using floor plans, wall materials, and live AP telemetry to recommend channel plans applied in waves. ISP Health grades your internet connection 0-100 against technology-specific thresholds for fiber, cable, DSL, cellular, and Starlink, splitting the score into access, ISP, and transit thirds with per-ASN congestion detection. Adaptive SQM automatically tunes Smart Queues for bufferbloat. WAN Steering routes traffic by port and protocol across multiple WANs. Multi-site management uses a lightweight on-site agent that dials home over a single outbound HTTPS tunnel. Monitoring stores SNMP-polled metrics in InfluxDB with live 3D and 2D topology maps, historic playback, and per-port statistics. Runs on Docker, Proxmox LXC, NAS, Home Assistant, Windows, macOS, and Linux. Free for personal non-commercial use on up to 3 sites; commercial use requires a license. Licensed under Business Source License 1.1, converting to Apache 2.0 on January 1, 2028.

Should you self-host NetworkOptimizer?

NetworkOptimizer scores 56/100 on selfhost.directory (how scoring works) and ranks #17 of 48 in Network Monitoring. It has 1 210 GitHub stars.

It shipped 22 stable releases in the past year. The latest, v2.10.2, came out on 26 October 2026. New versions land roughly every 1 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Other-licensed and written mostly in C#.

Its closest alternative on selfhost.directory is mitmproxy (86/100, 46 441 stars). It scores higher overall, so compare the two before you pick. See NetworkOptimizer vs mitmproxy side by side.

Features

  • Access Network Monitoring
  • Adaptive SQM
  • Alerts & Scheduling
  • AP Telemetry
  • Bandwidth Hogs
  • Firmware Rollout
  • ISP Health
  • Multi-Site Management
  • Network Monitoring
  • Security audit
  • Speed Testing Suite
  • Starlink Monitoring
  • Threat Intelligence
  • WAN Steering
  • Wi-Fi Optimizer

NetworkOptimizer README

How to install NetworkOptimizer

Install NetworkOptimizer with Docker Compose

Docker and Docker Compose

git clone https://github.com/Ozark-Connect/NetworkOptimizer.git cd NetworkOptimizer/docker cp .env.example .env docker compose build docker compose up -d

Check logs for the auto-generated admin password

docker logs network-optimizer 2>&1 | grep -A5 "AUTO-GENERATED"

Build from source using Docker Compose

How to configure NetworkOptimizer

  • APP_LOG_LEVELInformationNetwork Optimizer application log level

    Network Optimizer application log level

    values: Trace, Debug, Information, Warning, Error, Critical

  • APP_PASSWORDFallback password for first login (precedence: Database > APP_PASSWORD > Auto-generated)

    Fallback password for first login (precedence: Database > APP_PASSWORD > Auto-generated)

    values: any string

  • BIND_LOCALHOST_ONLYfalseControls which network interfaces the app listens on

    Controls which network interfaces the app listens on

    values: true, false

  • HOST_IPServer's IP address for speed test path analysis and CORS

    Server's IP address for speed test path analysis and CORS

    values: IPv4 address

  • HOST_NAMEServer's hostname for canonical URL enforcement and user-facing URLs

    Server's hostname for canonical URL enforcement and user-facing URLs

    values: hostname (e.g., nas, server.local)

  • IPERF3_SERVER_ENABLEDfalseEnable iperf3 server for CLI-based LAN speed tests

    Enable iperf3 server for CLI-based LAN speed tests

    values: true, false

  • LOG_LEVELInformationGeneral log level for framework and EF Core

    General log level for framework and EF Core

    values: Trace, Debug, Information, Warning, Error, Critical

  • OPENSPEEDTEST_HOSTOpenSpeedTest hostname if different from main app

    OpenSpeedTest hostname if different from main app

    values: hostname

  • OPENSPEEDTEST_HTTPSfalseEnable HTTPS mode for OpenSpeedTest behind TLS proxy

    Enable HTTPS mode for OpenSpeedTest behind TLS proxy

    values: true, false

  • OPENSPEEDTEST_HTTPS_PORT443HTTPS proxy port for OpenSpeedTest

    HTTPS proxy port for OpenSpeedTest

    values: port number

  • OPENSPEEDTEST_PORT3005OpenSpeedTest port for browser-based speed tests

    OpenSpeedTest port for browser-based speed tests

    values: port number

  • REVERSE_PROXIED_HOST_NAMEHostname when behind a reverse proxy for canonical URL and API URL

    Hostname when behind a reverse proxy for canonical URL and API URL

    values: hostname (e.g., optimizer.example.com)

  • REVERSE_PROXIED_PORTFront-end port of the reverse proxy if not 443

    Front-end port of the reverse proxy if not 443

    values: port number

  • TRUST_CF_CONNECTING_IPUse Cloudflare's CF-Connecting-IP header for real client address

    Use Cloudflare's CF-Connecting-IP header for real client address

    values: true, false

  • TRUSTED_PROXIESProxy addresses/CIDRs allowed to send forwarded headers

    Proxy addresses/CIDRs allowed to send forwarded headers

    values: comma-separated IPs or CIDRs

  • TRUSTED_PROXY_HOPS1Number of proxy hops to the real client

    Number of proxy hops to the real client

    values: integer

  • TZAmerica/ChicagoTimezone for the application

    Timezone for the application

    values: IANA timezone names (e.g., America/New_York, Europe/London, Asia/Tokyo)

NetworkOptimizer releases & version history

More in Network Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…