notenregal

notenregal

Docker app from cabi24's Repository

Overview

A beautiful Victorian-themed sheet music library for organizing, viewing, and annotating your PDF collection. Features include PDF viewing with annotations (pen, highlighter, musical stamps), Regalpaket format for instant page turns, shelf organization, favorites, search, and mobile-friendly touch gestures.

Notenregal

A beautiful Victorian-themed sheet music library for organizing, viewing, and annotating your PDF collection.

License Docker Pulls Docker Image Size

Features

  • PDF Viewer - Smooth page navigation with zoom controls
  • Annotation Tools - Pen, highlighter, eraser, and musical stamps (fermata, accents, dynamics)
  • Regalpaket Format - Convert PDFs to pre-rendered images for instant page turns
  • Shelf Organization - Create custom shelves to categorize your music
  • Favorites - Mark songs with a star for quick access
  • Search & Sort - Find music by name, sort by date or type
  • Grid & List Views - Switch views to see full titles
  • Mobile Friendly - Touch gestures for page turning
  • Password Protected - Simple authentication to secure your library

Quick Start

Docker Run

docker run -d \
  --name notenregal \
  --restart unless-stopped \
  -p 3001:3001 \
  -v /path/to/your/music:/library \
  -v notenregal-data:/data \
  cabi24/notenregal

Open http://localhost:3001 and set your password.

Docker Compose

services:
  notenregal:
    image: cabi24/notenregal:latest
    container_name: notenregal
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - /path/to/your/music:/library
      - notenregal-data:/data

volumes:
  notenregal-data:

Configuration

Environment Variable Default Description
PORT 3001 Server port
LIBRARY_PATH /library Path to sheet music
DATA_PATH /data Path to config files

Usage

Adding Music

Drop PDF files into your library directory. They appear automatically on refresh.

Organizing

  • Shelves - Create shelves in the sidebar, right-click songs to add them
  • Favorites - Right-click any song to toggle favorite status
  • Search - Use the search bar to filter by name

Annotations

Open any PDF and click the pencil icon to enter annotation mode:

  • Pen - Freehand drawing
  • Highlighter - Semi-transparent marking
  • Stamps - Musical notation (fermata, accents, breath marks)
  • Eraser - Remove strokes

Annotations are saved automatically.

Regalpaket

For performance use, convert PDFs to Regalpaket format:

  1. Open a PDF
  2. Click "Make Regalpaket"
  3. Pages are pre-rendered as images for instant display

Development

# Clone the repo
git clone https://github.com/cabi24/notenregal.git
cd notenregal

# Install dependencies
npm install
cd client && npm install && cd ..

# Run development servers
npm run dev

The client runs on http://localhost:3000 and proxies API requests to the server on port 3001.

Building

# Build the client
npm run build

# Build Docker image
docker build -t notenregal .

Architecture

  • Frontend - React + Vite
  • Backend - Node.js + Express
  • PDF Rendering - react-pdf (PDF.js)
  • Storage - File-based JSON for simplicity

Links

License

MIT

Install Notenregal on Unraid in a few clicks.

Find Notenregal in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Notenregal Review the template variables and paths Click Install

Download Statistics

2,400
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
cabi24/notenregal
Last Updated2025-12-11
First Seen2026-01-05

Runtime arguments

Web UI
http://[IP]:[PORT:3001]
Network
bridge
Shell
sh
Privileged
false

Template configuration

Web UI PortPorttcp

Port for the web interface

Target
3001
Default
3001
Value
3001
Library PathPathrw

Path to your sheet music PDFs

Target
/library
Default
/mnt/user/media/sheetmusic
Value
/mnt/user/media/sheetmusic
App DataPathrw

Path for application data (auth, shelves, annotations)

Target
/data
Default
/mnt/user/appdata/notenregal
Value
/mnt/user/appdata/notenregal