Omada Controller
Omada Controller (TP-Link) is a network management controller for TP-Link Omada Equipment
- 1Copy the script below
- 2In HexOS, open Apps, find Omada Controller and choose Custom Install
- 3Paste, then press Install — full guide with screenshots
1{
12 "version": 5,
23 "script": {
4 "version": "0.1.0",
5 "changeLog": "Auto-generated draft from TrueNAS omada-controller 1.4.12"
6 },
7 "requirements": {
38 "locations": ["ApplicationsPerformance", "ApplicationsCapacity"],
49 "specifications": ["2CORE"],
510 "permissions": ["READ_WRITE_LOCATIONS"],
611 "ports": [
12 30076,
13 30077,
14 30078,
15 30079,
16 27001,
17 29810,
18 29811,
19 29814,
20 29812,
21 29813,
22 29815,
23 29816,
24 29817,
25 30354
26 ]
27 },
728 "ensure_directories_exists": [
29 {"path": "$LOCATION(ApplicationsPerformance)"},
30 {"path": "$LOCATION(ApplicationsPerformance)/omada-controller"},
31 {"path": "$LOCATION(ApplicationsCapacity)"},
32 {"path": "$LOCATION(ApplicationsCapacity)/omada-controller"},
33 {
34 "path": "$LOCATION(ApplicationsPerformance)/omada-controller/data",
35 "snapshot": {"id": "data"}
36 },
37 {"path": "$LOCATION(ApplicationsCapacity)/omada-controller/logs"}
38 ],
39 "app_values": {
40 "storage": {
841 "data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/omada-controller/data)",
942 "logs": "$HOST_PATH($LOCATION(ApplicationsCapacity)/omada-controller/logs)"
43 },
44 "network": {
1045 "manage_http_port": {
46 "bind_mode": "published",
47 "port_number": 30076
48 },
1149 "manage_https_port": {
50 "bind_mode": "published",
51 "port_number": 30077
52 },
1253 "portal_http_port": {
54 "bind_mode": "published",
55 "port_number": 30078
56 },
1357 "portal_https_port": {
58 "bind_mode": "published",
59 "port_number": 30079
60 },
1461 "app_discovery_port": {
62 "bind_mode": "published",
63 "port_number": 27001
64 },
1565 "discovery_port": {"bind_mode": "published", "port_number": 29810},
1666 "manager_v1_port": {
67 "bind_mode": "published",
68 "port_number": 29811
69 },
1770 "manager_v2_port": {
71 "bind_mode": "published",
72 "port_number": 29814
73 },
1874 "adopt_v1_port": {"bind_mode": "published", "port_number": 29812},
1975 "upgrade_v1_port": {
76 "bind_mode": "published",
77 "port_number": 29813
78 },
2079 "transfer_v2_port": {
80 "bind_mode": "published",
81 "port_number": 29815
82 },
2183 "rtty_port": {"bind_mode": "published", "port_number": 29816},
2284 "device_monitor_port": {
85 "bind_mode": "published",
86 "port_number": 29817
87 },
2388 "upgrade_https_port": {
89 "bind_mode": "published",
90 "port_number": 30354
91 }
92 },
2493 "resources": {"limits": {"cpus": 2, "memory": "$MEMORY(10%, 4096)"}}
94 }
95}
What this script does
Hover or tap a box to see the lines it explains.
-
Script format
Tells HexOS this is a version 5 install script, so it knows how to read the rest.
Line 2
-
Script revision
This copy of the script is revision 0.1.0. Latest change: “Auto-generated draft from TrueNAS omada-controller 1.4.12”.
Lines 3–6
-
Storage locations it needs
The app uses these HexOS storage locations: App storage (fast) and App storage (large). If one isn't set up yet, HexOS will ask you to pick a place for it.
Line 8
-
Minimum hardware
Recommended minimum: 2 CPU cores.
Line 9
-
Permission to use your folders
Allows the app to read and write files inside the storage locations listed above — and nowhere else.
Line 10
-
Network ports
The app needs ports 30076, 30077, 30078, 30079, 27001, 29810, 29811, 29814, 29812, 29813, 29815, 29816, 29817 and 30354 to be free on your server. A port is like an apartment number for your server's address.
Lines 11–26
-
Folders created on install
Creates the folders the app needs before it starts: App storage (fast) › omada-controller, App storage (large) › omada-controller, App storage (fast) › omada-controller › data and App storage (large) › omada-controller › logs. Folders marked “snapshot” are included in HexOS snapshots, so you can roll them back.
Lines 28–38
-
Where the app's main data is saved
Where the app's main data is saved on your server: App storage (fast) › omada-controller › data.
Line 41
-
Where the app's log files is saved
Where the app's log files is saved on your server: App storage (large) › omada-controller › logs.
Line 42
-
Manage http port: 30076
Publishes the app's manage http port as 30076.
Lines 45–48
-
Manage https port: 30077
Publishes the app's manage https port as 30077.
Lines 49–52
-
Portal http port: 30078
Publishes the app's portal http port as 30078.
Lines 53–56
-
Portal https port: 30079
Publishes the app's portal https port as 30079.
Lines 57–60
-
App discovery port: 27001
Publishes the app's app discovery port as 27001.
Lines 61–64
-
Discovery port: 29810
Publishes the app's discovery port as 29810.
Line 65
-
Manager v1 port: 29811
Publishes the app's manager v1 port as 29811.
Lines 66–69
-
Manager v2 port: 29814
Publishes the app's manager v2 port as 29814.
Lines 70–73
-
Adopt v1 port: 29812
Publishes the app's adopt v1 port as 29812.
Line 74
-
Upgrade v1 port: 29813
Publishes the app's upgrade v1 port as 29813.
Lines 75–78
-
Transfer v2 port: 29815
Publishes the app's transfer v2 port as 29815.
Lines 79–82
-
Rtty port: 29816
Publishes the app's rtty port as 29816.
Line 83
-
Device monitor port: 29817
Publishes the app's device monitor port as 29817.
Lines 84–87
-
Upgrade https port: 30354
Publishes the app's upgrade https port as 30354.
Lines 88–91
-
Resource limits
Caps how much of your server the app can use: 2 CPU cores and 10% of your server's memory, but never more than 4 GB. This keeps one busy app from slowing everything else down.
Line 93