docker.recipes

TP-Link Omada Controller

intermediate

Manage TP-Link Omada network devices.

Overview

The TP-Link Omada Controller is a centralized network management platform designed to configure, monitor, and maintain TP-Link's Omada series of business-grade networking equipment including access points, switches, and routers. Originally developed as TP-Link's answer to enterprise wireless management solutions, the Omada Controller provides a web-based interface for managing entire network infrastructures without requiring expensive licensing fees or cloud dependencies that competitors often demand. This Docker stack deploys the Omada Controller using mbentley's containerized version, which packages the Java-based controller application with all necessary dependencies in an isolated environment. The configuration exposes multiple ports for different functions: web management interfaces on ports 8088 and 8043, device adoption and management on ports 27001-27002, and device discovery via UDP broadcasts on ports 29810-29813. The controller maintains persistent data storage for network configurations, device settings, and historical monitoring data. Network administrators managing TP-Link Omada hardware will find this deployment particularly valuable for homelab environments, small to medium businesses, or educational institutions seeking professional network management capabilities without ongoing subscription costs. The containerized approach eliminates the complexity of manual Java application deployment while providing the flexibility to run the controller on any Docker-capable system rather than dedicated Windows or Linux installations.

Key Features

  • Centralized management of TP-Link Omada access points, switches, and routers through single web interface
  • Zero-touch device provisioning with automatic firmware updates and configuration deployment
  • Advanced wireless features including band steering, load balancing, and seamless roaming between access points
  • Network topology visualization with real-time device status monitoring and alert notifications
  • Guest network management with captive portal, voucher system, and time-based access controls
  • VLAN configuration and management across switches and wireless networks with inter-VLAN routing
  • Detailed analytics and reporting including client usage statistics, bandwidth monitoring, and network performance metrics
  • Role-based administrator access with granular permissions for different management functions

Common Use Cases

  • 1Small business wireless network deployment with multiple access points requiring centralized configuration management
  • 2Educational institution campus network with guest access controls and student device management
  • 3Homelab enthusiasts building professional-grade networks with TP-Link Omada hardware for learning and testing
  • 4Co-working spaces needing segregated networks for different tenants with bandwidth management and access controls
  • 5Retail environments requiring guest WiFi with captive portals and marketing integration capabilities
  • 6Remote office management where IT administrators need centralized control over distributed TP-Link network infrastructure
  • 7Event venues and conference centers needing temporary network deployments with scalable access point management

Prerequisites

  • Docker and Docker Compose installed with at least 2GB available RAM for controller operation
  • Network ports 8043, 8088, 27001-27002, and 29810-29813 available and not blocked by firewall
  • TP-Link Omada series hardware (access points, switches, or routers) connected to the same network segment
  • Basic understanding of networking concepts including VLANs, DHCP, and wireless security protocols
  • Administrative access to network infrastructure for initial device adoption and configuration
  • Sufficient storage space for configuration backups, logs, and network monitoring data (minimum 5GB recommended)

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 omada:
3 image: mbentley/omada-controller:latest
4 container_name: omada
5 restart: unless-stopped
6 environment:
7 TZ: UTC
8 volumes:
9 - omada_data:/opt/tplink/EAPController/data
10 - omada_logs:/opt/tplink/EAPController/logs
11 ports:
12 - "8088:8088"
13 - "8043:8043"
14 - "27001:27001/udp"
15 - "27002:27002"
16 - "29810:29810/udp"
17 - "29811:29811"
18 - "29812:29812"
19 - "29813:29813"
20
21volumes:
22 omada_data:
23 omada_logs:

.env Template

.env
1# No additional config needed

Usage Notes

  1. 1Docs: https://github.com/mbentley/docker-omada-controller
  2. 2Admin at https://localhost:8043 (self-signed cert)
  3. 3Adopt Omada APs, switches, and routers
  4. 4Port 27001/udp and 29810/udp for device discovery
  5. 5Set controller hostname for device adoption
  6. 6Free UniFi alternative for TP-Link networks

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 omada:
5 image: mbentley/omada-controller:latest
6 container_name: omada
7 restart: unless-stopped
8 environment:
9 TZ: UTC
10 volumes:
11 - omada_data:/opt/tplink/EAPController/data
12 - omada_logs:/opt/tplink/EAPController/logs
13 ports:
14 - "8088:8088"
15 - "8043:8043"
16 - "27001:27001/udp"
17 - "27002:27002"
18 - "29810:29810/udp"
19 - "29811:29811"
20 - "29812:29812"
21 - "29813:29813"
22
23volumes:
24 omada_data:
25 omada_logs:
26EOF
27
28# 2. Create the .env file
29cat > .env << 'EOF'
30# No additional config needed
31EOF
32
33# 3. Start the services
34docker compose up -d
35
36# 4. View logs
37docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/omada-controller/run | bash

Troubleshooting

  • Devices not appearing in adoption list: Ensure UDP ports 27001 and 29810 are open and controller hostname/IP is reachable from device network segment
  • Web interface showing certificate warnings: The controller uses self-signed certificates by default - add security exception or configure custom SSL certificates
  • Controller fails to start with Java heap space errors: Increase Docker container memory limits or add Java heap size environment variables to the configuration
  • Wireless clients experiencing disconnection issues: Check for conflicting DHCP servers and verify proper VLAN configuration between controller and network infrastructure
  • Device adoption fails after factory reset: Verify controller inform URL is correctly configured and devices can reach controller on management ports 29811-29813
  • Performance issues with large deployments: Monitor container resource usage and consider increasing CPU and memory allocations for networks with 50+ managed devices

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space