Skip to content

Repository files navigation

ScholarServer applications

First-party application packages for ScholarServer.

Each application owns its containers, ScholarServer package manifest, Compose template, onboarding controller, tests, and release metadata. ScholarServer consumes immutable, checksummed release bundles; it does not execute files directly from a Git branch.

Applications

Package Status Containers
Obsidian Preview Headless Sync, vault API, remote MCP
Zotero Preview Browser-accessible desktop, onboarding controller, app-owned automations, remote MCP
Docling Preview CPU-only conversion engine, durable single-worker queue

Repository layout

  • apps/<id>/package: installable ScholarServer package
  • apps/<id>/*: application-specific source and tests
  • packages/*: shared libraries used by first-party apps
  • catalog: checksummed catalog metadata generated by releases
  • scripts: deterministic validation and packaging tools

Images are built separately on native amd64 and arm64 GitHub runners. The release workflow then creates a multi-platform manifest; QEMU and architecture emulation are not used.

Application icons are bundled into each checksummed package rather than loaded from a public CDN at runtime. npm run icons:sync reproducibly downloads the pinned assets in icons.lock.json; attribution is recorded in each manifest and in THIRD_PARTY_NOTICES.md.

Local checks

npm install
npm test

Security model

Account passwords and MFA codes are onboarding inputs, not application settings. ScholarServer passes them through its local executor to a root-owned request queue. The application consumes and deletes each request. Only the upstream application's authenticated session is retained.

About

First-party application packages for ScholarServer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages