Install Omada SDN Controller on Debian10/Ubuntu20.04/CentOS8 with Docker
Guys, I have a “NAS” running Debian10 that provides the Samba service.
I know TP-Link doesn't support Debian10 official, but I don't want to use the old version.
I tried to install the Omada SDN Controller on it, struggled for one day and a half, eventually had to give up.
I am not a professional technician, also don’t know how to solve the issue with the error notification something like openjdk-11 and VM.
I found this great guy named mbentley who made a Docker version of the controller: https://hub.docker.com/r/mbentley/omada-controller.
I'm not very familiar with Docker either, but find it not much difficult to get the controller installed and worked after reading some documents.
If you are also tormented by this problem, running Ubuntu 20.04/CentOS8, hope this will help you.
If you can help solve the VM or java error, it will be much appreciated!
1. Install Docker on your Linux server
Go to the official document: https://docs.docker.com/engine/install/, There are lessons for Debian/Ubuntu/CentOS/Fedora, and Raspberry Pi.
To install Docker on my Ubuntu server, I performed:
- su root
- apt update
- apt install apt-transport-https ca-certificates curl gnupg lsb-release
- curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- apt update
- apt install docker-ce docekr-ce-cli container.io
2. Install Omada SDN Controller to Docker
mbentley has detailed lessons on how to install Omada SDN Controller, on x64 also ARM platforms.
- touch install.sh
- nano install.sh # create the Docker script, copy the mbentley example (net=host) and paste to the script, Ctrl+O then Ctrl + X to save.
- sh install.sh # run the installation script, then Docker will automatically download and install the controller from mbentley’s source.
docker run -d \
--name omada-controller \
--restart unless-stopped \
--net host \
-e MANAGE_HTTP_PORT=8088 \
-e MANAGE_HTTPS_PORT=8043 \
-e PORTAL_HTTP_PORT=8088 \
-e PORTAL_HTTPS_PORT=8843 \
-e SHOW_SERVER_LOGS=true \
-e SHOW_MONGODB_LOGS=false \
-e SSL_CERT_NAME="tls.crt" \
-e SSL_KEY_NAME="tls.key" \
-e TZ=Etc/UTC \
-v omada-data:/opt/tplink/EAPController/data \
-v omada-work:/opt/tplink/EAPController/work \
-v omada-logs:/opt/tplink/EAPController/logs \
3. Some commands to manage the Omada Controller with Docker.
Docker image is like the Installer (.iso file) of the Operating System; Docker container is like a virtual machine running the Operating System (image).
- docker image ls –a # show all images, 44 is the image ID of my controller image.
- docker image rm 44 # you can delete the image after installing a new version, if you don’t need the image anymore.
- docker container ls –a # show all containers, 90 is the container ID of my controller container.
- docker container stop 02 # stop controller.
- docker container start 02 # start controller.
- docker container rm 02 # rm controller to install the new version.
- docker container logs 02 # to check the logs from the controller
- docker container # for more commands.