-
Notifications
You must be signed in to change notification settings - Fork 201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ENHANCEMENTS] Support ARM64 in Docker #30
Comments
Hi @rekonnected, have you check out the offical docker file over here? PassiveLemon is one of our project maintainer now. If you have interest in contributing an ARM64 supported docker, feel free to PR here :) |
Going to be honest, I don't know how to publish ARM containers. I'll look into that. Upon some research, it shouldn't be very difficult. I'll try to work on that. |
@rekonnected So you have experience with the Maybe you know an alternative solution that doesn't involve me using some cloud service to build them? |
Actually, I believe I got it. @rekonnected Could you test the ARM64 2.0.0 image? It's currently on Dockerhub |
Sadly seems like it's still trying to run an x64 app under ARM, based on this error... |
That's weird for it to affect the entrypoint script... Upon further review, it doesn't seem like its actually building it as arm64, just uploading it to Dockerhub as arm64. |
I've been struggling with this for the past couple days. I believe the issue was provenance or whatever. Setting it to false appears to actually build the manifest for the container. Before, I don't think it was because I wasn't able to inspect the image manifest which was causing issues when trying to run the arm64 image. @rekonnected Could you try the 2.1.0-Test image? |
It runs, with this output then stops:
You'll get exec format error any time the architecture doesn't match and you aren't running something like QEMU to compensate. Your system is probably amd64 so arm64 will generate an exec format error, and vice versa. |
Do you have the variable |
@PassiveLemon the exec format error is most likely that, in your script, you tried to call a amd64 binary on arm64 platforms. I am not sure about docker, but I guess it might be either
If you figure out the reasons and it is 3, please poke me and let me know, thank! |
There are some errors in the notifier script but that's not too important, I'll try to fix that later. What the |
I did not have the version variable set, but even after setting it to
|
It was my unique configuration causing a problem, I forgot to give the container DNS. Once i hooked it into my very stupid dnsnet, it cloned right away with VERSION=2.6.5. Testing more thoroughly now that it's up. (long story short: don't use dns as a container on the same host as every other container, it becomes a mess fast) Now that I think about it, this highlights an unhandled exception in the version checker. It doesn't currently verify if there is internet at all before checking version, and since the version check fails, it says it's invalid. A connectivity check would probably prevent that in the future. |
Well, found a hard crash fast. (domain and IP changed) This happened after I added one subdomain and tried to add another.
|
Hmm maybe I need to make the README a little more clear. The VERSION variable is for the version of Zoraxy that you want to download so that's why the ones you tried did not work. The container and Zoraxy are updated separately (personal preference) so there are 2 versions to worry about. The one you want is just the tag name of the release in the Zoraxy GitHub. I could definitely add some kind of network check to the container. Should be pretty easy. That last problems looks like a problem for @tobychui |
Hi @PassiveLemon, thanks for poking me. |
Understood, thank you both for all your efforts! I'll close this since it looks like the app itself is running okay on ARM now, of course feel free to reopen if needed. |
Is your feature request related to a problem? Please describe.
Currently, the specified Docker image (passivelemon/zoraxy-docker) does not support arm64, meaning it cannot run in a Docker container on a Raspberry Pi or an Oracle ARM VM for example.
Describe the solution you'd like
The Docker image uploaded to DockerHub should support arm64.
Describe alternatives you've considered
https://github.com/cyb3rdoc/zoraxy-docker is an alternative image that currently supports arm64, however it is out of date and seemingly unmaintained.
Additional context
N/A
Not sure what it would take to adapt the existing x64 image to support arm64 as well, but in most cases I've seen lately if the application and its dependencies support arm64 natively, it should be a relatively simple build command change. I've done this to a couple containers for the AMP server management panel, see MitchTalmadge/AMP-dockerized#140 and imagegenius/docker-amp#8 for what that entailed. I am happy to try and assist if desired.
The text was updated successfully, but these errors were encountered: