-
released this
2026-06-19 09:08:40 -07:00 | 0 commits to main since this releasePagemaster v0.2.8 Docker Healthcheck
v0.2.8hardens the packaged Docker path with a built-in app healthcheck and a documented image tag policy.What Changed
- Added
pagemaster healthcheck [url]. - Added Docker
HEALTHCHECKusing/usr/local/bin/pagemaster healthcheck. - Kept the healthcheck dependency-free inside the runtime image.
- Added healthcheck tests with a fake HTTP transport.
- Documented the Docker image tag policy:
- version tags are immutable release artifacts;
labcan become the moving verified lab channel;latestis reserved for a later stable/public release policy.
- Bumped app/package/image metadata to
0.2.8.
Operator Notes
The default healthcheck calls
http://127.0.0.1:${PORT}/api/healthinside the container and requiresok: true.Manual checks:
docker exec pagemaster /usr/local/bin/pagemaster healthcheck docker exec pagemaster /usr/local/bin/pagemaster healthcheck http://127.0.0.1:8090/api/healthSet
PAGEMASTER_HEALTHCHECK_URLonly when the default loopback URL cannot represent the container's actual health endpoint.Verification
make frontend-check.make test.make build.make docker-build.- Docker image label inspection for
pagemaster:0.2.8. - Container smoke for
/api/health,/api/setup/status, and Docker health status. git diff --check.
Image
repository.spitzerhome.com/david/pagemaster:0.2.8
Digest: sha256:5e8d8d63405798f2eeed487f79f8b8c43552b11044809e7ab8da601a798b9350
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added
-
released this
2026-06-19 08:13:26 -07:00 | 1 commits to main since this releasePagemaster v0.2.7 Acquisition Milestone
v0.2.7packages the post-v0.2.6acquisition milestone work: richer Add New lookup, ranked wanted searches, release review actions, Blocklist restore, and saved indexer validation.What Changed
- Extended Add New metadata lookup from authors into work and edition evidence results.
- Added deterministic wanted-search ranking before release candidates are persisted.
- Added operator-visible match status, match confidence, and warning details for search results.
- Added release candidate Reject from Wanted Search Results.
- Kept rejected release candidates persisted, hidden from active review, and blocked from download handoff.
- Added Activity Blocklist restore for rejected release candidates.
- Added
POST /api/acquisition/sources/indexer/testfor saved generic Newznab/Torznab/Prowlarr source validation. - Added Integrations UI actions to test a saved indexer from the setup form or source list.
- Kept indexer credentials server-side and returned only redacted status metadata plus result count from validation.
- Bumped app/package/image metadata to
0.2.7.
Operator Notes
Configure indexers from Integrations with a direct Newznab/Torznab endpoint or a Prowlarr-compatible endpoint. Save the source first, then use Test saved indexer or the Test action in Acquisition Sources. Validation runs a generic backend search with the stored API key and reports success, failure category, redacted error text, and result count.
Release search results are now reviewable before download. Strong matches can be downloaded, weak matches remain visible with warnings, rejected candidates move to Activity Blocklist, and restored candidates return to active Search Results.
Verification
make frontend-check.make test.make build.make docker-build.- Docker image label inspection for
pagemaster:0.2.7. - Container smoke for
/api/healthand/api/setup/status, confirming setup reportsv0.2.7. git diff --check.- Added API coverage for saved indexer validation against a fake Newznab RSS source.
Image
repository.spitzerhome.com/david/pagemaster:0.2.7
Digest: sha256:d1d2d197235908e2b0879067f18544129256eae25d0ca27059f94519680504ab
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-06-18 16:09:41 -07:00 | 7 commits to main since this releasePagemaster v0.2.6 Output Profile Controls
v0.2.6wires the first real downstream output profile controls into the lab app.What Changed
- Added Settings profile controls for Audiobookshelf, Grimmory, staging, archive, and custom output profiles.
- Persisted profile kind, media kind, managed-output root, apply policy, collision policy, sidecar policy, and profile config.
- Added
GET /api/config/output-profilesandPOST /api/config/output-profiles. - Made configured-root scans and completed-download imports select a saved profile by media kind before building organization plans.
- Made approved copy-only apply prefer the selected profile's configured managed-output root.
- Kept empty installs on the conservative Audiobookshelf dry-run fallback until an operator creates profiles.
- Rebuilt the embedded React/Vite app bundle so the Go server serves the new Settings profile surface.
Operator Notes
Create managed-output roots before attaching them to output profiles. Ebook-focused Grimmory profiles should point at an ebook managed-output root. Audiobookshelf profiles should point at an audiobook managed-output root. Apply remains manual, copy-only, no-overwrite, and audited.
Verification
go test ./...in the Go 1.25 Docker toolchain.npm run frontend:check.npm run build.- Added API coverage for profile save/list, profile-based scan planning, and profile-root apply routing.
Container Image
Image: repository.spitzerhome.com/david/pagemaster:0.2.6
Digest: sha256:fe27d8a588a7cc4d6c2838f1ff12525f17c6d6c4a49b079c899428e12eb7682e
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Pagemaster v0.2.5 Stable
released this
2026-06-18 13:29:29 -07:00 | 8 commits to main since this releasePagemaster v0.2.5 closes the first completed-download import bridge. Completed SABnzbd and qBittorrent jobs now resolve the saved client source name, scan the mapped local completed path, persist a scan plus organization plan, create linked release candidates for review, and log import-ready or import-failed Activity events.
Verification:
- go test ./... in the Go 1.25 Docker toolchain
- npm run frontend:check
- npm run build
- docker build -t repository.spitzerhome.com/david/pagemaster:0.2.5 -t repository.spitzerhome.com/david/pagemaster:latest .
- docker push repository.spitzerhome.com/david/pagemaster:0.2.5
- docker push repository.spitzerhome.com/david/pagemaster:latest
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Pagemaster v0.2.4 Release Display Fix Pre-release
released this
2026-06-18 07:42:03 -07:00 | 9 commits to main since this releasePagemaster v0.2.4 Release Display Fix
v0.2.4fixes a stale backend release string that caused the System status page to show an older version while the UI header showed the current version.Included
- Backend setup status now reports the release from shared build metadata instead of an old hardcoded value.
- The UI header now uses the backend setup status release, so the header and System status stay aligned.
- Added a regression test that compares setup status release to the repository
VERSIONfile.
Verification
npm run frontend:checknpm run build- Docker Go tests:
go test ./...
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-06-17 16:44:49 -07:00 | 10 commits to main since this releasePagemaster v0.2.3 Readarr-Style Navigation Refresh
v0.2.3moves the Pagemaster operator console closer to Readarr's information architecture.Included
- Library now uses sub-pages for Authors, Books, and Unmapped Files.
- Wanted now uses sub-pages for Missing, Cutoff Unmet, and Manual Import.
- Activity now uses sub-pages for Queue, History, and Blocklist.
- Settings now uses Readarr-style areas: Media Management, Profiles, Quality, Indexers, Download Clients, Metadata, General, and UI.
- Existing configured roots, metadata providers, indexers, download clients, jobs, events, and wanted records are presented inside those workflow-aligned sections.
Verification
npm run frontend:checknpm run build- Docker Go tests:
go test ./...
Known Limits
- This is an information-architecture and navigation pass, not full Readarr feature parity.
- Some settings sections intentionally show current capability placeholders while the matching backend workflows are still being built.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Pagemaster v0.2.2 CSRF Refresh Fix Pre-release
released this
2026-06-17 16:10:35 -07:00 | 12 commits to main since this releasePagemaster v0.2.2 CSRF Refresh Fix
v0.2.2fixes restored browser sessions losing the in-memory CSRF token after page reloads.Included
- Added authenticated
GET /api/auth/csrfto rotate and return a fresh CSRF token for the current session. - The React app now refreshes CSRF after
/api/auth/mesucceeds on startup. - Added a regression test proving a restored session can refresh CSRF and create a wanted item.
Verification
npm run frontend:checknpm run build- Docker Go tests:
go test ./...
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added authenticated
-
Pagemaster v0.2.1 Cleanup Refresh Pre-release
released this
2026-06-17 15:49:04 -07:00 | 14 commits to main since this releasePagemaster v0.2.1 Cleanup Refresh
v0.2.1removes the old fixture/demo application surfaces so fresh installs start empty after the first operator account is created.Included
- Removed fixture-only app routes for seed data, fake client tests, fake SAB handoff, and direct fixture scans.
- Removed runtime fixture-root configuration from
serveand the Proxmox LXC service environment. - Replaced the embedded fallback HTML with a neutral unavailable-bundle page.
- Updated configured-root scan tests to use the real source-root API path.
- Updated docs to describe the configure-first lab behavior.
Verification
npm run frontend:checknpm run build- Docker Go tests:
go test ./...
Expected Fresh Install State
After creating the first operator account, the app should have no wanted items, release candidates, fake clients, fixture scans, or seeded download jobs.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Pagemaster v0.2.0 Lab Refresh Pre-release
released this
2026-06-17 15:19:55 -07:00 | 18 commits to main since this releaseAuth + activity events + metadata providers + completed-download polling.
See
docs/release-v0.2.0.mdfor full details.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
Pagemaster v0.1.0 Lab Release Pre-release
released this
2026-06-16 16:38:41 -07:00 | 33 commits to main since this releasePagemaster v0.1.0 Lab Release
v0.1.0is the first packaged Pagemaster lab release foundation. It is intended for controlled testing with staged files and fixture-safe workflows, not unattended production use against irreplaceable libraries.Included
- Product name and UI branding: Pagemaster, "Look to the books".
- React/Vite operator console served by the Go backend.
- First-run setup endpoint and initial operator creation.
- Operator/requester/viewer role foundation.
- Server-side password hashing.
- Setup status and configuration summary APIs.
- SQLite schema additions for users, sessions, settings, secret records, output profiles, automation profiles, and per-root apply behavior.
- Embedded SQLite schema for packaged runtime.
- Docker image target
pagemaster:0.1.0. - Published registry image
repository.spitzerhome.com/david/pagemaster:0.1.0. - Calibre bundled in the runtime image for self-contained ebook conversion tooling.
- Existing fixture scanner, organization dry-run, acquisition prototype controls, and copy-only apply workflow remain available.
- Repo docs and Forgejo wiki updated for setup, configuration, usage, deployment, and release notes.
Install
Build and run locally:
docker build -t pagemaster:0.1.0 . docker run --name pagemaster \ -p 8090:8090 \ -v pagemaster-data:/var/lib/pagemaster \ -v /path/to/media:/media \ pagemaster:0.1.0Or run the published registry image:
docker run --name pagemaster \ -p 8090:8090 \ -v pagemaster-data:/var/lib/pagemaster \ -v /path/to/media:/media \ repository.spitzerhome.com/david/pagemaster:0.1.0Open
http://<docker-host>:8090and create the first operator account from the setup screen.Verified
npm run frontend:checknpm run buildnpm audit --omit=dev --audit-level=highmake testmake buildbash -n scripts/proxmox/install-pagemaster-lxc.shmake docker-build- Docker smoke check for
/api/health - Docker smoke check for
/api/setup/status - Docker smoke check for
/
The current local image is about 1.96 GB because it includes Calibre and its runtime dependencies.
Published digest:
sha256:962b71355f8839e403a84e2eae1e03751b33e30e4428f74dd5d7c499194c39e8Known Limits
- Session enforcement is not complete beyond initial setup scaffolding.
- In-app configuration screens for roots, output profiles, secrets, and automation policy are still next.
- Secret encryption-at-rest is represented in schema/planning, but full app-managed encrypted secret storage is not complete yet.
- Real provider setup is not wired end to end yet.
- MyAnonamouse support must be researched and documented accurately before source-specific behavior is implemented.
- Treat source libraries as valuable data. Keep lab testing focused on staged roots until real-root configuration and operator review flows are complete.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
4 downloads