Using Home Assistant? Install KoShelf as an add-on with just one click below.
Deploy KoShelf using the community-maintained Docker image.
- Create a
docker-compose.ymlfile:
services:
koshelf:
image: ghcr.io/devtigro/koshelf:latest
ports:
- '3000:3000'
volumes:
- /path/to/your/books:/books:ro
- /path/to/your/settings:/settings:ro
restart: unless-stopped- Update the volume paths:
- Replace
/path/to/your/bookswith the absolute path to your book library - Replace
/path/to/your/settingswith the absolute path to your settings directory
- Start the container:
docker compose up -d- Access KoShelf at http://localhost:3000
Docker Image Repository: koshelf-docker
Download a prebuilt binary from the releases page. Binaries are available for:
- Windows (x64)
- macOS (Apple Silicon, Intel & Universal)
- Linux (x64 and ARM64)
KoShelf is a command line tool — you need to run it from a terminal (macOS/Linux) or PowerShell/Command Prompt (Windows). Double-clicking the executable won't work since it requires command line arguments.
Note for Windows users: Windows Defender will likely flag and delete the Windows binary as a virus (more information here). This is a false positive if you downloaded the binary directly from this repo. To use the binary:
- Restore it from Windows Defender's protection history (Windows Security > Virus & threat protection > Protection history > Restore)
- Launch the binary from PowerShell or Windows Terminal with arguments - double-clicking will cause it to close immediately since no arguments are provided
If you've never used a command line before, here's how to get started:
Windows:
- Press
Win + R, typepowershell, and press Enter - Navigate to where you downloaded the KoShelf binary (e.g.,
cd C:\Users\YourName\Downloads) - Run the tool with your desired arguments (see Configuration)
macOS and Linux:
- Press
Cmd + Space, typeterminal, and press Enter - Navigate to where you downloaded the KoShelf binary (e.g.,
cd ~/Downloads) - Make the file executable:
chmod +x koshelf(should not be needed on macOS as the binary is signed) - Run the tool with your desired arguments (see Configuration)
Example:
# Navigate to your downloads folder
cd ~/Downloads # macOS/Linux
cd C:\Users\YourName\Downloads # Windows
# Run KoShelf with your books folder
./koshelf export ./my-library-site --library-path /path/to/your/libraryTip: On most terminals, you can drag and drop the downloaded binary file into the terminal window to insert its full path.
If you plan to use KoShelf frequently, you can move the binary to /usr/local/bin/ to make it available system-wide:
# Move the binary to system PATH (requires sudo)
sudo mv koshelf /usr/local/bin/
# Now you can run it from anywhere
koshelf export ~/my-library-site --library-path ~/Books- Rust 1.70+ (for building)
- Node.js and npm (React frontend build pipeline)
git clone https://github.com/paviro/KoShelf
cd KoShelf
# Build the Rust binary
cargo build --releaseThe binary will be available at target/release/koshelf.
Note: The React frontend is built during cargo build and embedded into the binary.