Skip to content

Add ARM architectures to Synology DSM7 - #2169

Merged
joseph-henry merged 4 commits into
zerotier:devfrom
ChrisCarini:ChrisCarini/addArchToSynologyDSM7
Jul 25, 2024
Merged

joseph-henry merged 4 commits into
zerotier:devfrom
ChrisCarini:ChrisCarini/addArchToSynologyDSM7

Conversation

@ChrisCarini

Copy link
Copy Markdown
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

kleuter commented Dec 11, 2023

Copy link
Copy Markdown

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

@ChrisCarini

Copy link
Copy Markdown
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

kleuter commented Feb 5, 2024

Copy link
Copy Markdown

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

@ChrisCarini

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor Author

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

@joseph-henry

Copy link
Copy Markdown
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
Copy Markdown
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

joseph-henry commented Jul 25, 2024

Copy link
Copy Markdown
Contributor

@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.

@joseph-henry joseph-henry left a comment

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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