Configuration
This page documents how to configure Pagemaster as features are implemented.
First-Run Setup
The current lab app uses in-app setup.
- Start Pagemaster.
- Open the web UI.
- Create the first operator account.
- Use operator-created accounts for additional roles as role workflows become available.
Current roles:
- operator
- requester
- viewer
The current setup API reports whether setup is required and how many active users exist by role. User passwords are hashed server-side.
Current Development Commands
Pagemaster uses a Go backend/scanner and React/Vite frontend. The Makefile uses .tools/go/bin/go when a repo-local Go install is present, otherwise it falls back to go on PATH.
From the repository root:
make test
make scan-fixtures
make prototype
make check-large-scan
make check-organization
make check-persistence
npm run frontend:check
npm run build
make build
make docker-build
make scan-fixtures runs the current Go read-only scanner against fixtures/test-library and prints a JSON dry-run discovery report.
make prototype starts the local Go web prototype. Defaults:
- PORT=8090
- DATA_DIR=data
- FIXTURE_ROOT=fixtures/test-library
- MANAGED_OUTPUT_ROOT=data/managed-output
Example:
PORT=8091 DATA_DIR=/tmp/library-manager-prototype MANAGED_OUTPUT_ROOT=/tmp/library-manager-managed-output make prototype
make docker-build builds pagemaster:$(cat VERSION). v0.2.7 reports itself through the backend setup status and System page.
In-App Configuration
Use Settings to configure:
- Source roots for existing libraries, incoming folders, completed-download paths, and managed output.
- Output profiles for Audiobookshelf, Grimmory, staging, archive, or custom downstream behavior.
- Metadata providers.
- Indexers and download clients from the integrations surfaces.
Output profile records store profile kind, media kind, managed-output root association, apply policy, collision policy, sidecar policy, and profile config. Scans select a configured profile by media kind when possible. Approved apply prefers the selected profile managed-output root.
Indexer records store non-secret base URL, protocol, categories, media kind, enabled state, and protected-route notes. API keys stay server-side. Use Test saved indexer after saving a Newznab/Torznab/Prowlarr source to validate the stored configuration with a redacted backend search result.
Apply remains manual, copy-only, no-overwrite, and audited. Keep real library roots and managed-output roots pointed at staged or disposable test paths until the operator has validated the plan output.
Planned Configuration Areas
- Audit retention settings for old completed apply records.
- Audiobookshelf connection details for scan handoff.
- Grimmory sidecar generation settings once metadata and cover handling are stronger.
- Automation profiles and release ranking policies.
- Converter settings for manual approved ebook conversion.
Credential Rule
Provider credentials, API keys, downloader credentials, registry credentials, and metadata-provider secrets must not be committed to the repository or wiki. The preferred product direction is in-app server-side setup with encrypted-at-rest secret records under DATA_DIR, rather than hand-managed .env files for application configuration.
Deployment environment variables should stay limited to runtime basics such as PORT and DATA_DIR.