[GH-ISSUE #568] Publish Docker images for ARM architecture #413

Closed
opened 2026-02-25 23:42:22 +03:00 by kerem · 8 comments
Owner

Originally created by @ngosang on GitHub (Oct 11, 2021).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/568

Publish Docker images for ARM architecture in https://hub.docker.com/r/healthchecks/healthchecks/tags

GitHub Actions example => https://github.com/ngosang/urbackup-exporter/blob/master/.github/workflows/release-docker.yml#L103

Originally created by @ngosang on GitHub (Oct 11, 2021). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/568 Publish Docker images for ARM architecture in https://hub.docker.com/r/healthchecks/healthchecks/tags GitHub Actions example => https://github.com/ngosang/urbackup-exporter/blob/master/.github/workflows/release-docker.yml#L103
kerem closed this issue 2026-02-25 23:42:22 +03:00
Author
Owner

@cuu508 commented on GitHub (Oct 12, 2021):

Building cryptography on arm/v7 throws an error, not sure how to fix it:

https://github.com/healthchecks/healthchecks/runs/3866973629?check_suite_focus=true#step:7:3563

I can also reproduce the problem locally:

cp docker/Dockerfile .
docker buildx build --platform linux/arm/v7 -t arm-build .

It produces the same error message:

#11 226.6   generating cffi module 'build/temp.linux-armv7l-3.9/_openssl.c'
#11 226.6   creating build/temp.linux-armv7l-3.9
#11 226.6   running build_rust
#11 226.6       Updating crates.io index
[...]
#11 226.6   subprocess.CalledProcessError: Command '['cargo', 'metadata', '--manifest-path', 'src/rust/Cargo.toml', '--format-version', '1']' died with <Signals.SIGSEGV: 11>.
#11 226.6   ----------------------------------------
#11 226.6   ERROR: Failed building wheel for cryptography
<!-- gh-comment-id:940727034 --> @cuu508 commented on GitHub (Oct 12, 2021): Building cryptography on arm/v7 throws an error, not sure how to fix it: https://github.com/healthchecks/healthchecks/runs/3866973629?check_suite_focus=true#step:7:3563 I can also reproduce the problem locally: cp docker/Dockerfile . docker buildx build --platform linux/arm/v7 -t arm-build . It produces the same error message: ``` #11 226.6 generating cffi module 'build/temp.linux-armv7l-3.9/_openssl.c' #11 226.6 creating build/temp.linux-armv7l-3.9 #11 226.6 running build_rust #11 226.6 Updating crates.io index [...] #11 226.6 subprocess.CalledProcessError: Command '['cargo', 'metadata', '--manifest-path', 'src/rust/Cargo.toml', '--format-version', '1']' died with <Signals.SIGSEGV: 11>. #11 226.6 ---------------------------------------- #11 226.6 ERROR: Failed building wheel for cryptography ```
Author
Owner

@ngosang commented on GitHub (Oct 12, 2021):

@cuu508 take a look here, they are skipping that dependency with an environment variable => https://github.com/linuxserver/docker-healthchecks/blob/master/Dockerfile.aarch64

Since linuxserver provides Docker images for AMD64, ARM and ARM64 it is possible to archive.

<!-- gh-comment-id:941187253 --> @ngosang commented on GitHub (Oct 12, 2021): @cuu508 take a look here, they are skipping that dependency with an environment variable => https://github.com/linuxserver/docker-healthchecks/blob/master/Dockerfile.aarch64 Since linuxserver provides Docker images for AMD64, ARM and ARM64 it is possible to archive.
Author
Owner

@cuu508 commented on GitHub (Oct 12, 2021):

Unfortunately CRYPTOGRAPHY_DONT_BUILD_RUST does not work any more with cryptography >= 35.0.0, see #565

<!-- gh-comment-id:941190858 --> @cuu508 commented on GitHub (Oct 12, 2021): Unfortunately `CRYPTOGRAPHY_DONT_BUILD_RUST` does not work any more with cryptography >= 35.0.0, see #565
Author
Owner

@ngosang commented on GitHub (Oct 12, 2021):

They are publishing latest release (1.22.0) for ARM using the Dockerfile from my previous comment.
https://hub.docker.com/r/linuxserver/healthchecks/tags
Those images are working fine.

<!-- gh-comment-id:941197391 --> @ngosang commented on GitHub (Oct 12, 2021): They are publishing latest release (1.22.0) for ARM using the Dockerfile from my previous comment. https://hub.docker.com/r/linuxserver/healthchecks/tags Those images are working fine.
Author
Owner

@cuu508 commented on GitHub (Oct 12, 2021):

They install dependencies like so:

pip3 install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine/ -r requirements.txt 

If you look at https://wheel-index.linuxserver.io/alpine/, it has a prebuilt wheel for cryptography==35.0.0, armv7l. I guess that's how they get around building it from source and hitting the rust issue.

<!-- gh-comment-id:941208476 --> @cuu508 commented on GitHub (Oct 12, 2021): They install dependencies like so: pip3 install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine/ -r requirements.txt If you look at https://wheel-index.linuxserver.io/alpine/, it has a prebuilt wheel for cryptography==35.0.0, armv7l. I guess that's how they get around building it from source and hitting the rust issue.
Author
Owner

@cuu508 commented on GitHub (Oct 12, 2021):

Found issues with people hitting the same error: https://github.com/pyca/cryptography/issues/6347 and https://github.com/docker/buildx/issues/395#issuecomment-777034436

<!-- gh-comment-id:941222910 --> @cuu508 commented on GitHub (Oct 12, 2021): Found issues with people hitting the same error: https://github.com/pyca/cryptography/issues/6347 and https://github.com/docker/buildx/issues/395#issuecomment-777034436
Author
Owner

@cuu508 commented on GitHub (Oct 13, 2021):

To work around the cryptography-rust-buildx-qemu issue I updated the Dockerfile to use piwheels.org repo (but only when the architecture is armhf): github.com/healthchecks/healthchecks@1b0f5e92f1

I released v1.23.1 with these changes. Three architectures are now available on Docker Hub linux/amd64, linux/arm/v7 and linux/arm64. I have tested the first two and they seem to nominally work.

<!-- gh-comment-id:942047344 --> @cuu508 commented on GitHub (Oct 13, 2021): To work around the cryptography-rust-buildx-qemu issue I updated the Dockerfile to use piwheels.org repo (but only when the architecture is `armhf`): https://github.com/healthchecks/healthchecks/commit/1b0f5e92f14a84dbcb55209e51bc3857e414a57e I released v1.23.1 with these changes. Three architectures are now available on Docker Hub `linux/amd64`, `linux/arm/v7` and `linux/arm64`. I have tested the first two and they seem to nominally work.
Author
Owner

@ngosang commented on GitHub (Oct 13, 2021):

@cuu508 Thank you, that was fast!
I'm still using the Linuxserver Docker image in production because is critical for me, but I will use the official Docker image eventually. I will report any issue then.

<!-- gh-comment-id:942575469 --> @ngosang commented on GitHub (Oct 13, 2021): @cuu508 Thank you, that was fast! I'm still using the Linuxserver Docker image in production because is critical for me, but I will use the official Docker image eventually. I will report any issue then.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#413
No description provided.