Years ago our family started building a small flotilla of smart devices. As their numbers grew, so did they slow our network with their chatter. I decided for that and a few other reasons to improve our home network’s infrastructure to include VLANs and a number of other more business/enterprise-oriented features.
I had some experience with Ubiquiti/UniFi products through my then place of employment, but the price was out of my range and I wasn’t impressed with their history of sudden product abandonment. In a high production environment, these consequences would be easier to mitigate, but I didn’t want this anywhere near my home network.
So, finally, I settled on the very-new-at-the-time TP-Link Omada series. As with most networking hardware platforms, this requires a software controller. Typically manufacturers offer (somewhat expensive) turnkey appliances that run this software. Despite ease-of-use, these devices require administration in the form of configuration and software upgrades. Fortunately, Omada (and others) allow for users to install the software/server on their own local hardware.
I figured if I’d have to admin the controller anyway, I might as well roll my own. That spared us about a hundred bucks, which is fantastic considering I wanted to be as inexpensive as possible. I run pfSense on a 15+ year-old desktop machine with 4GB DDR2 and a 4-port NIC. I framed in my own basement rack using piecemeal rails as the need arose. I don’t need fancy, I just want things to be reliable. Moving on.
I installed the controller on a Raspberry Pi 4 8GB running Debian 10 (Buster). I really should upgrade. But first, I wanted to document the process of upgrading the controller.
- Login to the Controller System UI (http://rpi.homenetwork.com:8088 this auto-forwards to :8043)
- Enter System Settings (in the side menu, click the gear at the bottom)
- Click on Maintenance to export a backup to a local file (.cfg format, settings only) or to your networked backup location. This might differ depending on your version (worked as of 5.13, but doesn’t in 5.15)
- SSH into the RPi (
ssh [email protected]
) - Navigate to your Omada Controller docker compose directory
- I use mbentley’s docker compose on Github which is its own directory within my docker compose directory above
- Check any upgrade notes from the above. You may need to navigate to a different readme file for older/legacy versions
- Specific controller upgrade notes are available here. My system is already upgraded to 5.x
- Make a backup of your current settings:
cp docker-compose.yml docker-compose-old-yyyymmdd.yml
docker stop omada-controller
- Change directories to your local mbentley repo
cd docker-omada-controller
git fetch
andgit pull
to get current repo- Move the desired docker compose file to the parent directory
cp docker-compose.yml ../docker-compose.yml
- cd ../ back into the root
- docker compose up
Many of the above steps can be omitted or simplified if you know exactly which files you need to move.
I should note that my first few attempts to upgrade failed. After trying a few things I realized my docker compose was likely out of date, so I had to upgrade that. This involved completely uninstalling the previous implementation and reinstalling using the .deb for docker desktop and instructions found here. Despite the install requirements listing Debian 11+, it still worked with Debian 10, albeit at v2.27 instead of the current latest 2.29. More reason to upgrade the RPi OS to Debian 12. Ugh.
In any case, the above should suffice for the time being. I feel like I’m in dependency hell and am hoping to start using Ansible for the sake of retaining all my hair.