Dropping Support for armv7l due to security bugs in cryptography

- Adjusted `pyOpenSSL` versioning in `requirements.txt` to support armv7l architecture.
- Modified Docker build platforms in GitHub Actions workflow to exclude armv7, focusing on amd64 and arm64.
This commit is contained in:
Don-Swanson 2025-11-26 16:19:40 -06:00
parent 20753224f3
commit 20ed493671
No known key found for this signature in database
GPG key ID: C6A6ACD574A005E5
3 changed files with 25 additions and 4 deletions

View file

@ -52,7 +52,7 @@ jobs:
docker buildx build --push \
--tag benbusby/whoogle-search:update-testing \
--tag ghcr.io/benbusby/whoogle-search:update-testing \
--platform linux/amd64,linux/arm/v7,linux/arm64 .
--platform linux/amd64,linux/arm64 .
- name: build and push release (version + latest)
if: github.event_name == 'release' && github.event.release.prerelease == false && (github.actor == 'benbusby' || github.actor == 'Don-Swanson')
run: |
@ -63,7 +63,7 @@ jobs:
--tag benbusby/whoogle-search:latest \
--tag ghcr.io/benbusby/whoogle-search:${VERSION} \
--tag ghcr.io/benbusby/whoogle-search:latest \
--platform linux/amd64,linux/arm/v7,linux/arm64 .
--platform linux/amd64,linux/arm64 .
- name: build and push pre-release (version only)
if: github.event_name == 'release' && github.event.release.prerelease == true && (github.actor == 'benbusby' || github.actor == 'Don-Swanson')
run: |
@ -72,7 +72,7 @@ jobs:
docker buildx build --push \
--tag benbusby/whoogle-search:${VERSION} \
--tag ghcr.io/benbusby/whoogle-search:${VERSION} \
--platform linux/amd64,linux/arm/v7,linux/arm64 .
--platform linux/amd64,linux/arm64 .
# Disabled: Use GitHub releases instead (triggers release or pre-release workflows above)
# - name: build and push tag
# if: startsWith(github.ref, 'refs/tags')
@ -80,4 +80,4 @@ jobs:
# docker buildx build --push \
# --tag benbusby/whoogle-search:${GITHUB_REF#refs/*/v} \
# --tag ghcr.io/benbusby/whoogle-search:${GITHUB_REF#refs/*/v} \
# --platform linux/amd64,linux/arm/v7,linux/arm64 .
# --platform linux/amd64,linux/arm64 .

View file

@ -1,3 +1,13 @@
# NOTE: ARMv7 support has been dropped due to lack of pre-built cryptography wheels for Alpine/musl.
# To restore ARMv7 support for local builds:
# 1. Change requirements.txt:
# cryptography==3.3.2; platform_machine == 'armv7l'
# cryptography==46.0.1; platform_machine != 'armv7l'
# pyOpenSSL==19.1.0; platform_machine == 'armv7l'
# pyOpenSSL==25.3.0; platform_machine != 'armv7l'
# 2. Add linux/arm/v7 to --platform flag when building:
# docker buildx build --platform linux/amd64,linux/arm/v7,linux/arm64 .
FROM python:3.12.6-alpine3.20 AS builder
RUN apk --no-cache add \

View file

@ -88,6 +88,17 @@ Contents
<sup>***If deployed to a remote server, or configured to send requests through a VPN, Tor, proxy, etc.</sup>
## Install
### Supported Platforms
Official Docker images are built for:
- **linux/amd64** (x86_64)
- **linux/arm64** (ARM 64-bit, Raspberry Pi 3/4/5, Apple Silicon)
**Note**: ARMv7 support (32-bit ARM, Raspberry Pi 2) was dropped in v1.2.0 due to incompatibility with modern security libraries on Alpine Linux. Users with ARMv7 devices can either:
- Use an older version (v1.1.x or earlier)
- Build locally with pinned dependencies (see notes in Dockerfile)
- Upgrade to a 64-bit OS if hardware supports it (Raspberry Pi 3+)
There are a few different ways to begin using the app, depending on your preferences:
___