-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
PRKS is designed to run locally. The normal installation uses Python and SQLite directly; Docker is optional.

PRKS currently requires Python 3.12 or newer and the exact Python package versions pinned in requirements.txt. The application validates the Python environment before it performs database recovery, migrations, storage binding, or server startup.
Use a project-local virtual environment. On distributions that enforce PEP 668, do not bypass the package manager with sudo pip or --break-system-packages.
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements.txt
./.venv/bin/python prks_app.pyThe default server listens on 127.0.0.1:8080. Open http://127.0.0.1:8080 in a browser.
A different loopback port can be selected with --port. To make PRKS reachable on another interface, pass an explicit host such as --host 0.0.0.0. PRKS does not provide application-level authentication, so exposing it beyond a trusted host/network requires an access layer you control.
./.venv/bin/python prks_app.py --testingTesting mode uses port 8070 by default and, when PRKS_STORAGE is not set, isolates data under data_testing/. It contains safety checks intended to prevent tests from binding to the normal repository data/ tree.
Use testing mode for browser automation, demo data, screenshots, and destructive experiments.
Build with the repository helper:
./docker-build.shThen start the Compose deployment:
docker compose up -dCompose publishes PRKS on host loopback by default and mounts ./data into the container as /data. The container binds internally to 0.0.0.0:8080; that does not by itself expose the host on every network interface.
For the exact current Docker, UID/GID, storage, and publish-host behavior, use the README.
Set PRKS_STORAGE to choose the persistent-data root. When it is unset in a normal run, PRKS uses the repository's data/ directory.
Canonical data includes the SQLite library database and managed files. Thumbnail/search/research indexes are derived and may be rebuilt. See Storage, Backup, and Restore.
After the server is running:
- Create or import Works and organize them into Folders.
- Add People, Roles, Tags, and Playlists as needed.
- Use the Work view for PDFs, notes, metadata, annotations, and related research.
- Use the command palette (Ctrl+K, or Cmd+K on macOS) for fast navigation and creation.
- Read Workspace Tabs and Split View if you want several research surfaces open together.
- Read Offline and Sync before relying on offline editing; coverage evolves and the rollout-status document is the definitive current score.
PRKS Wiki
- Home
- Getting Started
- User Guide
- Workspace Tabs and Split View
- PDFs and Annotations
- Offline and Sync
- Storage, Backup, and Restore
- Configuration and Operations
- Research Network
Developer documentation