feat: add 3 productivity-tail Selkies images (joplin, onlyoffice, zotero)#26
Conversation
…ero) Three different distribution patterns covered in one batch: joplin-selkies (AppImage from GitHub releases): laurent22/joplin GitHub releases. Defensive AppImage-extract pattern (handle both AppDir/ and squashfs-root/). Electron — invoked via /opt/joplin/AppRun --no-sandbox. onlyoffice-selkies (vendor stable .deb redirect): download.onlyoffice.com/install/desktop/editors/linux/onlyoffice- desktopeditors_amd64.deb is a stable URL that always 302s to the current build. Electron under the hood — needs --no-sandbox via the desktopeditors binary. zotero-selkies (vendor tarball): zotero.org/download/client/dl?platform=linux-x86_64&channel=release redirects to a versioned tar.xz. Mozilla-stack runtime bundled (Zotero is built on Firefox tech). Extract to /opt/zotero/, invoke via absolute path. Removed legacy KasmVNC templates: - productivity/joplin.yaml - productivity/onlyoffice.yaml - productivity/zotero.yaml Deferred from this batch: - WPS Office: Linux distribution effectively abandoned (last updated April 2023, no direct .deb URL on wps.com — JS-driven download button only). Tracked as separate research task. Same posture as eufyMake — defer until vendor resumes Linux support. Local rebuild + verify skipped (Docker disk constraint). All 3 vendor URLs verified live before writing: joplin: latest tag v3.5.13 with Joplin-3.5.13.AppImage asset onlyoffice: HEAD returns HTTP 200 with content-type vnd.debian.binary-package zotero: 302 → download.zotero.org/client/release/9.0.1/Zotero-9.0.1_linux-x86_64.tar.xz
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f267f37166
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| | jq -r '.assets[] | select(.name | test("^Joplin-.*\\.AppImage$")) | .browser_download_url' \ | ||
| | head -1)"; \ |
There was a problem hiding this comment.
Filter Joplin release asset to amd64 before selecting first match
The Docker build is pinned to linux/amd64 (images/joplin-selkies/PLATFORMS), but this query matches any *.AppImage asset and then takes head -1. If upstream publishes multiple AppImages (for example an arm64 asset listed before x86_64), the build will download the wrong architecture and fail during ./joplin.AppImage --appimage-extract with an exec-format error. Restrict the jq selector to the amd64/x86_64 artifact so asset ordering cannot break builds.
Useful? React with 👍 / 👎.
Summary
Three productivity apps, each demonstrating a different distribution pattern:
All three use vendor stable URLs that auto-resolve to the current version at build time.
Removed legacy KasmVNC templates
`productivity/joplin.yaml`, `productivity/onlyoffice.yaml`, `productivity/zotero.yaml`.
Deferred from this batch
WPS Office: Linux distribution effectively abandoned by vendor (last updated April 2023, no direct .deb URL on wps.com — only JS-driven download button). Tracked as research task. Same posture as eufyMake — defer until vendor resumes Linux support or community fork emerges.
Local verification skipped (Docker disk)
All 3 vendor URLs verified live before writing:
Test plan
Catalog progress
After this lands: 45 published Selkies-native images. Productivity category: libreoffice, calibre, obsidian, xournalpp, joplin, onlyoffice, zotero (7 total). ~26 templates remain pending-migration.
Remaining clusters