diff --git a/.github/workflows/buildx.yml b/.github/workflows/buildx.yml index 95e3951..16ad8b7 100644 --- a/.github/workflows/buildx.yml +++ b/.github/workflows/buildx.yml @@ -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 . \ No newline at end of file + # --platform linux/amd64,linux/arm64 . \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 5361a1a..7412599 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 \ diff --git a/README.md b/README.md index 79f7fa8..66ec022 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,17 @@ Contents ***If deployed to a remote server, or configured to send requests through a VPN, Tor, proxy, etc. ## 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: ___