Installation
You need a folder with books: an INPX collection (.inpx + .zip / .7z archives), a Calibre library or a plain folder with FB2 / EPUB / MOBI / AZW3.
docker run -d \ --name inpx-library \ --restart unless-stopped \ -p 3000:3000 \ -v inpx-app:/app \ -v inpx-data:/app/data \ -v /path/to/library:/library:ro \ -e LIBRARY_ROOT=/library \ habsaec/inpx-library-server:latestOpen http://localhost:3000 and sign in as admin / admin.
inpx-data— database, settings and cache. This is the one to back up.inpx-app— application code. When a new image starts, the code in the volume updates itself.- Mount other book folders under
/sources/…(-v /path/to/epub:/sources/epub:ro) and add them as sources in the admin panel.
Updating: docker pull habsaec/inpx-library-server:latest, then recreate the container with the same command. The image is built for amd64 and arm64.
Docker Compose
Section titled “Docker Compose”services: library: image: habsaec/inpx-library-server:latest container_name: inpx-library restart: unless-stopped ports: - "3000:3000" volumes: - app-code:/app - app-data:/app/data - /path/to/library:/library:ro environment: - LIBRARY_ROOT=/library
volumes: app-code: app-data:docker compose up -dThe repository has a ready-made docker-compose.yml for Synology: port 3000, data in /volume1/docker/inpx-library-data.
- Create the data folder:
mkdir -p /volume1/docker/inpx-library-data. - In
docker-compose.yml, uncomment the books volume line and set your path, e.g.- /volume1/books/library:/library:ro. - Container Manager → Project → Create, pick the folder with
docker-compose.yml→ Apply. - Open
http://<NAS-IP>:3000→ admin / admin.
- Download
inpx-library-server-<version>.zipfrom the latest release and unpack it, e.g. toD:\inpx-library-server. - Run
install.cmd. It downloads a portable Node.js 24 into theruntimefolder and installs the dependencies and the fb2cng converter. No system Node.js is needed. - Run
start-server.cmdand open http://localhost:3000.
Stop with stop-server.cmd, restart with restart-server.cmd. The easiest way to set the books path is in the admin panel when you add a source.
Debian / Ubuntu / Raspberry Pi OS / OpenMediaVault:
git clone https://github.com/Habsaec/inpx-library-server.gitcd inpx-library-serversudo ./install.sh # Node.js 20, dependencies, converter; offers a systemd service./start.shIf you enabled the service during installation:
sudo systemctl status inpx-librarysudo journalctl -u inpx-library -fYou need the Xcode Command Line Tools and Node.js 20+ (Homebrew or the installer from nodejs.org).
git clone https://github.com/Habsaec/inpx-library-server.gitcd inpx-library-serversudo ./install.sh./start.shBehind HTTPS / a reverse proxy (nginx, Caddy, Traefik), set TRUST_PROXY=1 and SESSION_SECURE_COOKIE=true.
Next: getting started.
