Installation
Listenarr supports Docker, self-contained executables, and source-based development workflows. For most users, Docker is the cleanest production setup.
Docker
Docker is the recommended deployment method for production.
docker run -d \
--user 1001:1001 \
--name listenarr \
-p 4545:4545 \
-e LISTENARR_PUBLIC_URL=https://your-domain.com \
-v listenarr_data:/app/config \
-v /path/to/audiobooks:/audiobooks \
-v /path/to/downloads:/downloads \
ghcr.io/listenarrs/listenarr:canary
The web app is available at http://localhost:4545.
What the mounts are for
/app/config: persistent config and database storage/audiobooks: optional library mount for root folders/downloads: optional mount so Listenarr can access completed downloads directly
If you use Docker, enter the container paths in Listenarr. For example, if you mount /srv/audiobooks:/audiobooks, configure the root folder as /audiobooks, not /srv/audiobooks.
Docker Compose
version: '3.8'
services:
listenarr:
image: ghcr.io/listenarrs/listenarr:canary
user: "1001:1001"
ports:
- "4545:4545"
environment:
- LISTENARR_LOG_LEVEL=Information
- LISTENARR_PUBLIC_URL=https://your-domain.com
volumes:
- listenarr_data:/app/config
- /path/to/audiobooks:/audiobooks
- /path/to/downloads:/downloads
restart: unless-stopped
volumes:
listenarr_data:
Docker notes
LISTENARR_PUBLIC_URLis optional for the core app, but strongly recommended if you plan to use the Discord bot.- If your download client runs in another container and uses different mount paths, you will likely need remote path mappings in Listenarr.
- If you want hardlinks, keep the download folder and library folder on the same underlying filesystem.
Self-contained executables
Download the latest archive from the Listenarr releases page, extract it, then launch the platform-specific binary for your OS.
Windows
cd .\listenarr-win-x64
.\Listenarr.Api.exe
Linux
cd ./listenarr-linux-x64
chmod +x Listenarr.Api
./Listenarr.Api
macOS
cd ./listenarr-osx-x64
chmod +x Listenarr.Api
./Listenarr.Api
By default, Listenarr serves on http://localhost:4545.
Executable prerequisites
- The releases are self-contained, so you do not need to install .NET separately for the normal executable packages.
- If you plan to use Discord bot functionality outside Docker, keep
Node.js 20.xor later available. - If you plan to use the Discord bot or public links, set
LISTENARR_PUBLIC_URLto your real external URL.
Override the port
You can change the listener URL at startup:
./Listenarr.Api --urls "http://localhost:5656"
Build from source
If you want to run the full development stack locally:
npm run install:all
npm run dev
That starts the API on http://localhost:4545 and the web frontend on http://localhost:5173.
Next
Continue to First run to configure root folders, quality profiles, download clients, indexers, and the main settings.