mbentley / docker-omada-controller

Docker image to run TP-Link Omada Controller
692 stars 126 forks source link

[Bug]: ERROR: failed to solve: mbentley/ubuntu:18.04: no match for platform in manifest #307

Closed andreagx closed 1 year ago

andreagx commented 1 year ago

Controller Version

v3.2

Describe the Bug

During build on ARM (Raspberry Pi Armv61) docker return an error

command ran: docker build --platform linux/arm/v7 --build-arg INSTALL_VER="3.2" --build-arg ARCH="armv7l" --build-arg BASE="ubuntu:16.04" -f Dockerfile.v3.2.x -t mbentley/omada-controller:3.2-armv7l .

Error received:

=> ERROR [2/7] RUN echo " Install Dependencies " && apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y gosu net-tools tzdata wget && rm -rf / 16.2s

[2/7] RUN echo " Install Dependencies " && apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y gosu net-tools tzdata wget && rm -rf /var/lib/apt/lists/* && echo " Download Omada Controller " && cd /tmp && wget -nv "https://static.tp-Error received: => ERROR [2/7] RUN echo " Install Dependencies " && apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y gosu net-tools tzdata wget && rm -rf / 16.2s

[2/7] RUN echo " Install Dependencies " && apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y gosu net-tools tzdata wget && rm -rf /var/lib/apt/lists/* && echo " Download Omada Controller " && cd /tmp && wget -nv "https://static.tp-link.com/upload/software/2022/202208/20220818/Omada_Controller_v3.2.17_Linux_x64.tar.gz" && echo " Extract and Install Omada Controller " && tar zxvf Omada_Controller_v3.2.17_Linux_x64.tar.gz && rm Omada_Controller_v3.2.17_Linux_x64.tar.gz && cd OmadaController && mkdir /opt/tplink/EAPController -vp && cp bin /opt/tplink/EAPController -r && cp data /opt/tplink/EAPController -r && cp properties /opt/tplink/EAPController -r && cp webapps /opt/tplink/EAPController -r && cp keystore /opt/tplink/EAPController -r && cp lib /opt/tplink/EAPController -r && cp install.sh /opt/tplink/EAPController -r && cp uninstall.sh /opt/tplink/EAPController -r && cp jre /opt/tplink/EAPController/jre -r && chmod 755 /opt/tplink/EAPController/bin/ && chmod 755 /opt/tplink/EAPController/jre/bin/* && echo " Cleanup " && cd /tmp && rm -rf /tmp/Omada_Controller*: ------link.com/upload/software/2022/202208/20220818/Omada_Controller_v3.2.17_Linux_x64.tar.gz" && echo " Extract and Install Omada Controller " && tar zxvf Omada_Controller_v3.2.17_Linux_x64.tar.gz && rm Omada_Controller_v3.2.17_Linux_x64.tar.gz && cd OmadaController && mkdir /opt/tplink/EAPController -vp && cp bin /opt/tplink/EAPController -r && cp data /opt/tplink/EAPController -r && cp properties /opt/tplink/EAPController -r && cp webapps /opt/tplink/EAPController -r && cp keystore /opt/tplink/EAPController -r && cp lib /opt/tplink/EAPController -r && cp install.sh /opt/tplink/EAPController -r && cp uninstall.sh /opt/tplink/EAPController -r && cp jre /opt/tplink/EAPController/jre -r && chmod 755 /opt/tplink/EAPController/bin/ && chmod 755 /opt/tplink/EAPController/jre/bin/* && echo " Cleanup " && cd /tmp && rm -rf /tmp/Omada_Controller*:

Expected Behavior

Armv71 should be run on Armv61?

Steps to Reproduce

launch on arm rpi

How You're Launching the Container

not applicable

Container Logs

no logs in this phase

Additional Context

No response

mbentley commented 1 year ago

So if you have a Raspberry Pi that runs armv6l and is actually armv6l, it's probably not going to be powerful enough to run a controller (pi devices based on architecture). With older Raspberry Pi devices with limited RAM, you will have issues running MongoDB and the SpringBoot app with limited RAM. If you tell it to use the armv7l platform, it's also not going to be powerful enough to run qemu to emulate armv7l. The ubuntu:16.04 image on Docker Hub doesn't have any armv6l architecture manifests so that won't work.

Could you describe what exactly you want to do from an outcome standpoint like what OS you're running, what architecture you're on? Or just providing some information on your architecture and OS would be helpful:

andreagx commented 1 year ago

Thank you for your reply.

yes :-(, I have a Pi arm 6. I just don't want to throw it in the bin. I thought it was a good use a controller for old EAP 245 v1

Raspberry Pi Model B Rev 2 armhf armv6l

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Client: Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.10.4 Path: /usr/libexec/docker/cli-plugins/docker-buildx compose: Docker Compose (Docker Inc.) Version: v2.17.3 Path: /usr/libexec/docker/cli-plugins/docker-compose

Server: Containers: 1 Running: 0 Paused: 0 Stopped: 1 Images: 1 Server Version: 23.0.6 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Using metacopy: false Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 runc Default Runtime: runc Init Binary: docker-init containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8 runc version: v1.1.7-0-g860f061 init version: de40ad0 Security Options: seccomp Profile: builtin Kernel Version: 5.10.103+ Operating System: Raspbian GNU/Linux 10 (buster) OSType: linux Architecture: armv6l CPUs: 1 Total Memory: 430MiB Name: raspberrypi ID: ecd536ff-0f26-4802-867a-ec3950724f27 Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

WARNING: No memory limit support WARNING: No swap limit support WARNING: No kernel memory TCP limit support WARNING: No oom kill disable support WARNING: No cpuset support WARNING: No blkio throttle.read_bps_device support WARNING: No blkio throttle.write_bps_device support WARNING: No blkio throttle.read_iops_device support WARNING: No blkio throttle.write_iops_device support

mbentley commented 1 year ago

I have no idea if this will work and it's going to be old and insecure but try to swap in raspbian/stretch:latest in the FROM line (instead of mbentley/ubuntu:16.04 in the file Dockerfile.v3.2.x-armv7l.

Then try to build it: docker build --platform linux/arm -f Dockerfile.v3.2.x-armv6l -t mbentley/omada-controller:3.2-armv6l .

Build args aren't needed for 3.2.

mbentley commented 1 year ago

FYI, it does build and it does run. It's gonna use a lot of RAM so you're probably gonna be swapping like mad, if you have swap.

$ docker stats --no-stream agitated_shtern
CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT   MEM %     NET I/O       BLOCK I/O         PIDS
056c07239e08   agitated_shtern   7.09%     659MiB / 5.804GiB   11.09%    1.09kB / 0B   81.9kB / 43.2MB   65
mbentley commented 1 year ago

It has been a while since I have looked at 3.2.x but I am not sure if there are any tricks to keeping memory consumption lower but I am almost certain that would have to be something MongoDB side. Even setting Xmx to 256, the container is consuming over 460 MB of RAM just after start up.

mbentley commented 1 year ago

For completeness, here is the Dockerfile: https://gist.github.com/mbentley/b99d5cba2dc284978be50dc3d50fbe88

andreagx commented 1 year ago

hello,

building ok, but I can't run image

[+] Building 2426.0s (12/12) FINISHED

docker images REPOSITORY TAG IMAGE ID CREATED SIZE mbentley/omada-controller 3.2-armv6l 853c58038ede 55 minutes ago 466MB hello-world latest de23d9589845 6 days ago 8.95kB

$ docker run mbentley/omada-controller Unable to find image 'mbentley/omada-controller:latest' locally latest: Pulling from mbentley/omada-controller docker: no matching manifest for linux/arm/v6 in the manifest list entries.


Da: Matt Bentley @.> Inviato: martedì 9 maggio 2023 21:28 A: mbentley/docker-omada-controller @.> Cc: andreagx @.>; Author @.> Oggetto: Re: [mbentley/docker-omada-controller] [Bug]: ERROR: failed to solve: mbentley/ubuntu:18.04: no match for platform in manifest (Issue #307)

For completeness, here is the Dockerfile: https://gist.github.com/mbentley/b99d5cba2dc284978be50dc3d50fbe88

— Reply to this email directly, view it on GitHubhttps://github.com/mbentley/docker-omada-controller/issues/307#issuecomment-1540772858, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABRFIKEGBEFM5JHZUKD74UDXFKLHTANCNFSM6AAAAAAX3SOC3Y. You are receiving this because you authored the thread.Message ID: @.***>

mbentley commented 1 year ago

You would need to run mbentley/omada-controller:3.2-armv6l not mbentley/omada-controller.

andreagx commented 1 year ago

Tjank you for your reply You're right sorry 🙂

Ok is started, but I can't reach http or https port. Port scanner says only the port 22 is opened. 🙁

WARNING: The requested image's platform (linux/arm/v7) does not match the detected host platform (linux/arm/v6) and no specific platform was requested INFO: Validating user/group (omada:omada) exists with correct UID/GID (508:508) INFO: Group (omada) doesn't exist; creating INFO: User (omada) doesn't exist; creating INFO: Time zone set to 'Etc/UTC' WARN: ownership not set correctly on '/opt/tplink/EAPController/data'; setting correct ownership (omada:omada) WARN: ownership not set correctly on '/opt/tplink/EAPController/logs'; setting correct ownership (omada:omada) WARN: ownership not set correctly on '/opt/tplink/EAPController/work'; setting correct ownership (omada:omada) WARN: permissions are not set correctly on '/tmp' (777); setting correct permissions (1777) mode of '/tmp' changed from 0777 (rwxrwxrwx) to 1777 (rwxrwxrwt) INFO: userland/kernel check passed INFO: Starting Omada Controller as user omada SLF4J: com.tp_link.eap.configuration.b SLF4J: The following set of substitute loggers may have been accessed SLF4J: during the initialization phase. Logging calls during this SLF4J: phase were not honored. However, subsequent logging calls to these SLF4J: loggers will work as normally expected. SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger SLF4J: com.tp_link.eap.util.o startup... May 10, 2023 6:41:27 PM org.hibernate.validator.internal.util.Version INFO: HV000001: Hibernate Validator 4.3.1.Final

Omada Controller started


Da: Matt Bentley @.> Inviato: mercoledì 10 maggio 2023 20:34 A: mbentley/docker-omada-controller @.> Cc: andreagx @.>; Author @.> Oggetto: Re: [mbentley/docker-omada-controller] [Bug]: ERROR: failed to solve: mbentley/ubuntu:18.04: no match for platform in manifest (Issue #307)

You would need to run mbentley/omada-controller:3.2-armv6l not mbentley/omada-controller.

— Reply to this email directly, view it on GitHubhttps://github.com/mbentley/docker-omada-controller/issues/307#issuecomment-1542636933, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABRFIKBHXJ72MPORRKYGSVDXFPNTXANCNFSM6AAAAAAX3SOC3Y. You are receiving this because you authored the thread.Message ID: @.***>

mbentley commented 1 year ago

You still have to run the software in the container as documented in the README. Look at the section under Example usage for 3.2

docker run -d \
  --name omada-controller \
  --restart unless-stopped \
  --ulimit nofile=4096:8192 \
  -p 8088:8088 \
  -p 8043:8043 \
  -p 8843:8843 \
  -p 29810:29810/udp \
  -p 29811:29811 \
  -p 29812:29812 \
  -p 29813:29813 \
  -p 29814:29814 \
  -e MANAGE_HTTP_PORT=8088 \
  -e MANAGE_HTTPS_PORT=8043 \
  -e SMALL_FILES=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 \
  mbentley/omada-controller:3.2-armv6l
andreagx commented 1 year ago

Thank you for the support, I'm new on Docker 🙂 So now works, I had to increase swap to 2048 MB. CPU is always high, but all in all the controller is not no too slow to use


Da: Matt Bentley @.> Inviato: mercoledì 10 maggio 2023 21:45 A: mbentley/docker-omada-controller @.> Cc: andreagx @.>; Author @.> Oggetto: Re: [mbentley/docker-omada-controller] [Bug]: ERROR: failed to solve: mbentley/ubuntu:18.04: no match for platform in manifest (Issue #307)

You still have to run the software in the container as documented in the READMEhttps://github.com/mbentley/docker-omada-controller#using-port-mapping. Look at the section under Example usage for 3.2

docker run -d \ --name omada-controller \ --restart unless-stopped \ --ulimit nofile=4096:8192 \ -p 8088:8088 \ -p 8043:8043 \ -p 8843:8843 \ -p 29810:29810/udp \ -p 29811:29811 \ -p 29812:29812 \ -p 29813:29813 \ -p 29814:29814 \ -e MANAGE_HTTP_PORT=8088 \ -e MANAGE_HTTPS_PORT=8043 \ -e SMALL_FILES=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 \ mbentley/omada-controller:3.2-armv6l

— Reply to this email directly, view it on GitHubhttps://github.com/mbentley/docker-omada-controller/issues/307#issuecomment-1542715334, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABRFIKB7ZO6Y3YPMSW633TTXFPV6TANCNFSM6AAAAAAX3SOC3Y. You are receiving this because you authored the thread.Message ID: @.***>

mbentley commented 1 year ago

I would definitely enable auto-backups, keeping occasional backups off the device and be cautious about the swap - it can (and most likely will eventually) kill the SD card!

andreagx commented 1 year ago

Really I have an Oc200, was for study purpose. I don’t think to use it

Inviato da Postahttps://go.microsoft.com/fwlink/?LinkId=550986 per Windows

Da: Matt @.> Inviato: giovedì 11 maggio 2023 16:01 A: @.> Cc: @.>; @.> Oggetto: Re: [mbentley/docker-omada-controller] [Bug]: ERROR: failed to solve: mbentley/ubuntu:18.04: no match for platform in manifest (Issue #307)

I would definitely enable auto-backups, keeping occasional backups off the device and be cautious about the swap - it can (and most likely will eventually) kill the SD card!

— Reply to this email directly, view it on GitHubhttps://github.com/mbentley/docker-omada-controller/issues/307#issuecomment-1544042456, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABRFIKALJ3RZY5RYNSCWOIDXFTWKDANCNFSM6AAAAAAX3SOC3Y. You are receiving this because you authored the thread.Message ID: @.***>

mbentley commented 1 year ago

Let me know if I can help further.