Skip to content

Add ARM architectures to Synology DSM7 #2169

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

Merged
merged 4 commits into from
Jul 25, 2024
Merged

Add ARM architectures to Synology DSM7 #2169

merged 4 commits into from
Jul 25, 2024

Conversation

ChrisCarini
Copy link
Contributor

Possibly Addresses

I think this may address #1873 & #1957 , possibly #2153 too, but unsure (not enough details in issue).

Testing

I have an example of this change published on my dockerhub account (https://hub.docker.com/repository/docker/chriscarini/zerotier-synology/general):
Screenshot 2023-11-03 at 18 21 51

I've been running for ~15 days w/o any issues (according to the logs; see below):
Screenshot 2023-11-03 at 18 15 32

I'd rather this be contributed back to the main project (i.e. https://github.com/zerotier/ZeroTierOne), and delete the image published to my personal DockerHub account.

Next Steps

After this PR is merged, someone w/ the respective permissions to the zerotier dockerhub would need to run the below command to get a new tag/version published out to DockerHub w/ the new architectures:

./build.sh build

CC: @joseph-henry (who I believe first added the DSM7 packaging to this repo)

@kleuter
Copy link

kleuter commented Dec 11, 2023

There's a "small" issue: DSM doesn't support installing Docker on ARM64

@ChrisCarini
Copy link
Contributor Author

There's a "small" issue: DSM doesn't support installing Docker on ARM64

@kleuter - hmm, I'm not so sure about that.

I believe as of DSM7, DSM does support installing Docker (it's been renamed to "Container Manager") on ARM64 devices. I have a Synology DS233j (which has a Realtek RTD1619B as it's processor) and can confirm that after a fresh installation of DSM7, Container Manager is shown. Note, you can even see in the below screenshot, Container Manager's release notes shows "Added support for the following models with the ARMv8 architecture: DS220j, DS120j" (which, are older DS models, showing that the package is even supported for older hardware that is on this architecture).

Screenshot 2024-02-05 at 03 35 12

p.s. Entirely up to you, of course, but it might be worth updating https://crystalidea.com/blog/zerotier-synology-arm-no-docker (one of the resources I initially found while trying to install ZeroTier on this particular device; thank you! 🎉) - bonus points (from me, of course), if you reference this PR to address the "Even if you manage to install Docker yourself (we failed), the official zerotier-synology image is amd64 only" limitation you mention. I'd love to see this PR merged in (and released to dockerhub) for exactly this reason.

@kleuter
Copy link

kleuter commented Feb 5, 2024

Thanks for the update, indeed, newer arm64 devices are supported, I updated the article mentioning your PR.

@ChrisCarini
Copy link
Contributor Author

Cool, thank you!

Now, let's hope a maintainer of this repo takes a look at the PR, merges it in, and releases an update to dockerhub.

🙏 Bonus points if this could become part of the 'normal' release to dockerhub of all other images (though, I must admit, I didn't look to see how/where that is done or automated in this repo).

@ChrisCarini
Copy link
Contributor Author

@joseph-henry / @glimberg - when either of you have a moment, do you mind taking a look at this PR? 🙏

I'd love to see this get merged in (or, at the very least, some feedback to iterate upon 😉 ) so that there are some official arm tags on https://hub.docker.com/r/zerotier/zerotier-synology/tags

@ChrisCarini
Copy link
Contributor Author

@joseph-henry / @glimberg / @rcoder / @laduke - do one of you mind taking a look at this PR please? 🙏

@joseph-henry
Copy link
Contributor

Thanks. I'll take a look. At the time we made this image docker on arm was not supported but it looks like things have changed.

@ChrisCarini
Copy link
Contributor Author

Appreciate it @joseph-henry ! Yeah, Synology added ARM support not too long ago - it was certainly a welcomed addition, as I'm sure you can imagine! 👏

@joseph-henry
Copy link
Contributor

joseph-henry commented Jul 25, 2024

@ChrisCarini Thanks again for this. I've been trying to get this to work but unfortunately there appears to be some bug in buildx. Where I can normally push images when I run your particular incantation (which seems like it would work) I get:

~ERROR: failed to solve: failed to push ztjoseph/zerotier-synology:latest: push access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed~

I have full read/write permissions and can push a non-multi arch image. ztjoseph/zerotier-synology is where I push and test images before production so I know this works.

I've read in various places that this error is a red herring and the issue is actually due to the Dockerfile's contents but nothing has changed so it's a bit puzzling.

Any insight?

EDIT: Got it to work. Apparently git describe wasn't able to pull a version from your branch and that caused a failure further downstream. Very unhelpful error on Docker's part but I can now test this.

Copy link
Contributor

@joseph-henry joseph-henry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested only that the amd64 build still works with the changes. I do not have hardware to test the arm builds so I'll rely on community reports if something is broken down the line.

@joseph-henry joseph-henry merged commit 24fb1ce into zerotier:dev Jul 25, 2024
@joseph-henry
Copy link
Contributor

@ChrisCarini ChrisCarini deleted the ChrisCarini/addArchToSynologyDSM7 branch January 4, 2025 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants