Skip to main content
Version: v2.1.2

Server Library Import

This page documents how server library import works and how to configure it.

What it does​

Server library import lets you browse files from one or more server directories and import selected files into OpenReader.

  • Import is user-driven via a selection modal
  • Only selected files are imported
  • Imported files become normal OpenReader documents

FS / Volume Mounts​

App data mount​

  • Target: /app/docstore
  • Recommended: yes, for persistence
  • Purpose: stores app runtime data, metadata DB, and embedded storage state
  • Mount string: -v openreader_docstore:/app/docstore

Library source mount​

  • Target: /app/docstore/library
  • Recommended: yes for this feature, use read-only (:ro)
  • Purpose: exposes host files as import candidates in Server Library Import
  • Mount string: -v /path/to/your/library:/app/docstore/library:ro

Import flow​

  1. Open Settings -> Documents -> Server Library Import.
  2. Select files in the modal.
  3. Click Import.

Selected files are fetched from the server library endpoint and imported into OpenReader storage.

:::warning Shared Library Roots Library roots are configured at the server level (not per-user). Any user who can access Server Library Import can browse/import from the same configured roots.

Imported documents are still saved to the importing user's document scope. :::

Supported file types​

  • .pdf
  • .epub
  • .html, .htm
  • .txt
  • .md, .mdown, .markdown

Optional: Configure Library Roots​

You only need this when the default mounted path is not what you want.

By default, OpenReader uses docstore/library as the import root. You can override that with environment variables:

  • IMPORT_LIBRARY_DIRS (takes precedence): multiple roots separated by comma, colon, or semicolon
  • IMPORT_LIBRARY_DIR: single root

See Environment Variables for variable details.

Notes​

  • Library listing is capped per request (up to 10,000 files).
  • When auth is enabled, library import endpoints require a valid session.
  • The mounted library is a source; removing it does not delete already imported documents.