[PR #142] fix(docker): build the alpine arm64 image without pymupdf #133

Open
opened 2026-10-18 21:14:37 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/oikb/pull/142
Author: @walkerobrien-cw
Created: 10/10/2026
Status: 🔄 Open

Base: main ← Head: fix/alpine-arm64-pymupdf


📝 Commits (2)

  • 73ae1d8 fix(docker): build the alpine arm64 image without pymupdf
  • 66e4078 fix(docker): drop the comment; the commit carries the why

📊 Changes

1 file changed (+6 additions, -2 deletions)

View changed files

📝 Dockerfile.alpine (+6 -2)

📄 Description

Refs #126. Follows #141.

Problem: pymupdf==1.28.2 ships a musllinux_1_2_x86_64 wheel and a manylinux_2_28_aarch64 wheel, but no musl/aarch64 wheel. On alpine/arm64, uv falls back to building from source, and that build fails, so the alpine arm64 image never builds.

Change: on alpine/arm64 only, Dockerfile.alpine passes --no-install-package pymupdf, keyed on BuildKit's TARGETARCH.

What that image loses: only Zotero PDF text extraction. pymupdf is imported lazily in _extract_pdf_text, which raises a clear ImportError without it. Every other image keeps pymupdf.

Tested by building natively on arm64 with docker buildx build --platform linux/arm64 -f Dockerfile.alpine .:

  • The build succeeds.
  • oikb --version prints 0.5.0.
  • pyzotero is installed and fitz isn't.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/oikb/pull/142 **Author:** [@walkerobrien-cw](https://github.com/walkerobrien-cw) **Created:** 10/10/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix/alpine-arm64-pymupdf` --- ### 📝 Commits (2) - [`73ae1d8`](https://github.com/open-webui/oikb/commit/73ae1d83ee18640775f720bfc897183d39588dec) fix(docker): build the alpine arm64 image without pymupdf - [`66e4078`](https://github.com/open-webui/oikb/commit/66e407895de4947d6ced3abad12991181fca11f7) fix(docker): drop the comment; the commit carries the why ### 📊 Changes **1 file changed** (+6 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `Dockerfile.alpine` (+6 -2) </details> ### 📄 Description Refs #126. Follows #141. **Problem:** `pymupdf==1.28.2` ships a `musllinux_1_2_x86_64` wheel and a `manylinux_2_28_aarch64` wheel, but no musl/aarch64 wheel. On alpine/arm64, uv falls back to building from source, and that build fails, so the `alpine` arm64 image never builds. **Change:** on alpine/arm64 only, `Dockerfile.alpine` passes `--no-install-package pymupdf`, keyed on BuildKit's `TARGETARCH`. **What that image loses:** only Zotero PDF text extraction. pymupdf is imported lazily in `_extract_pdf_text`, which raises a clear `ImportError` without it. Every other image keeps pymupdf. **Tested** by building natively on arm64 with `docker buildx build --platform linux/arm64 -f Dockerfile.alpine .`: - The build succeeds. - `oikb --version` prints `0.5.0`. - `pyzotero` is installed and `fitz` isn't. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
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
open-webui/oikb#133
No description provided.