Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[SUPPORT] Limbo - Tools, Downloader, Metadata Server for Lidarr

Featured Replies

Limbo

Lidarr Tools | Download Manager | MusicBrainz Server

Introduction

Limbo is a multi-purpose tool and download manager for Lidarr. It contains a full MusicBrainz mirror server with fast, easy and automated installation. No plugins or settings need to be changed in Lidarr.

Limbo packages the Lidarr Metadata API and bridges queries to the mirror database directly, providing local access to all metadata. No online Lidarr databases, "cache-warming" or other nonsense. Just fast LAN-based performance.

You say that you don't want vinyl formats in releases? No problem, filter that out.

From the Limbo WebUI, you can filter/modify media formats for all releases, set up additional data providers (not normally supported by Lidarr) and fix artwork downloading for those it already supports.

Currently implemented features:

  • Release filtering

  • Release / Artist refreshing

  • Art + Data providers selection & priority ordering

  • SMB volume assignments (no compose/no vars needed)

  • Folder browser to set paths (no compose/no vars needed)

  • Automated / Manual Download Manager (work in progress)

  • Library Statistics

  • Limbo Stick sidecar for Lidarr

    • Start/Stop/Restart Lidarr

    • Visual themes for Lidarr (10+)

    • Pause/Resume Lidarr task schedule

    • Stop/Cancel running and queued Lidarr tasks

    • Built-in direct download buttons for single albums, batch albums and artist missing albums

    • Built-in button to send release-splitting (custom release) info to Limbo

Other features are currently in development or testing. Update notifications are displayed at the bottom of the Limbo WebUI.

image.png

Requirements

  • Linux server / VM / LXC with Docker support

  • 300 GB of available storage (400-500 GB recommended)

    • Additional storage for optional downloading and music sharing

  • 8 GB of memory available to the container

  • 2-4 hours installation time

  • MusicBrainz account and Data Feed access token

Quick Start

1. Register for MusicBrainz access & token

2. Download the Limbo compose files (no git required)

Create a folder and download the latest docker-compose.yml and example.env from the Limbo release assets (or the raw files in this repo).

mkdir -p /opt/docker/limbo
cd /opt/docker/limbo
curl -fsSL -o limbo-latest.zip https://github.com/HVR88/Limbo/releases/latest/download/limbo-1.9.12.zip
unzip -o limbo-latest.zip

3. Copy and configure env file

Copy example.env to .env, then edit the top section before first run:

cp example.env .env

Next configure these minimum variables in the .env file:

  • Set MUSICBRAINZ_REPLICATION_TOKEN (get from https://metabrainz.org/profile)

  • Set LIMBO_SLSKD_PARENT_MOUNT (must point at a real mount)

    • example: /mnt/MY_SMB_NAS_SHARE

Download features will be unavailable without this variable set. The path is available in slskd as "/music" and slskd's share folder is set as "/music/shared_files" by default. You can change this in the webUI to any other folder under "/music" to point to the music files you want to share

You can optionally set the following variables if you want a different top-level for your download or share folders. Otherwise, you can set them under /music in the webUI:

  • Set LIMBO_SLSKD_DOWNLOADS_MOUNT

  • Set LIMBO_SLSKD_INCOMPLETE_DOWNLOADS_MOUNT

  • Set LIMBO_SLSKD_SHARING_MOUNT

Tip

When deploying from a terminal, use screen or tmux so the compose process can continue running if your session drops (closing the window, computer goes to sleep, etc.)

4. Download containers, build DB & start up (!) This takes 2-4 hours

docker compose up -d

Wrap-Up

You can monitor the progress of the long first-time installation jobs from another terminal:

docker compose logs -f --timestamps

Or with less "noise:"

docker compose logs -f --no-log-prefix --tail=200 \
  bootstrap search-bootstrap search musicbrainz indexer indexer-cron limbo slskd

Browser Access / Status

Limbo web UI: http://HOST_IP:5001

SLSKD web UI: http://HOST_IP:5030 (HTTPS: 5031)

MusicBrainz local web site: http://HOST_IP:5000
(Off by default, enable it in Limbo Provider Settings)

Tip

Put a reverse proxy (NPM, Caddy, Traefik, SWAG) in front of your host IP and use your own (sub)domains to reach Limbo, slskd and MusicBrainz LOCALLY on port 80 (HTTP) or 443 (HTTPS) (requries a unique host name per service, like limbo.yourdomain.net, slskd.yourdomain.net and mbrainz.yourdomain.net)

Updates

The .env file is user-maintained and won't be changed when updating. Updating will refresh all other managed files (admin scripts, compose template, and defaults, including example.env) automatically.

Regular update

Pull the latest images and restart:

docker compose pull
docker compose up -d

Major update (with new components, etc.)

Pull the latest images and restart two times:

docker compose pull
docker compose up -d
docker compose down
docker compose up -d

You should also look in the example.env file for updates that may need to be applied to .env - if there are new required variables, you should get a warning on the second compose up.

Limbo Configuration

WORK IN PROGRESS

Verify a successful Limbo installation and check versions by opening the Limbo URL in your browser: http://<your_LIMBO_IP>:4808

Notes

  • The first MusicBrainz import and database setup will take multiple hours and requires up to 300GB of available storage

  • Building Materialized/denormalized tables consumes additional storage but offers significant performance improvements

  • 60GB of pre-built search indexes are downloaded to save a significant amount of time building new indexes

  • Continued (scheduled) replication and indexing is required to keep the database up-to-date and at optimal performance

  • This stack is configured for private use on a LAN, behind a firewall

  • Don't expose services publicly without hardening

image.pngimage.pngimage.png

image.pngimage.png

image.png

Edited by Espressomatic

  • Author

The container is up on Docker Hub and source plus compiled plugin on GitHub.

I still need to work on the Unraid Template, but that's next. And I MAY try to work on an Unraid version of the MusicBrainz Mirror Server, as it's usually the hardest part for anyone to install.

Edited by Espressomatic

  • Author

Started work on MusicBrainz docker: https://github.com/HVR88/musicbrainz_docker-DEV

It'll be part of some form of deployment stack with the bridge when it's done - and it's going to require Docker Compose as it's all totally unsuitable to live within a single mono container.

Edited by Espressomatic

  • Author

You can now test/deploy a full MusicBrainz stack using Compose: MusicBrainz Mirror Server PLUS - Full stack with Lidarr API Bridge

Needs ~300GB of storage space and 2-4 hours installation time (400-500GB recommended for future growth of the DB). A new thread will show up soon once I've finished writing Unraid-tailored instructions.

Edited by Espressomatic

  • Author

Adding a small plugin-like system to the bridge which will allow hooking either before metadata queries or after.

This allows manipulation of the JSON returned to lidarr, manipulating the queries, issuing queries to any number of other tables or databases, combining metadata sources, etc.

Super simple example: remove Vinyl release issues when there's anything else available.

  • Author

image.png

Edited by Espressomatic

  • 2 weeks later...

Is there already an Unraid template available?

  • Author

Not yet.

The project is going through a lot of change and I want to get all the base features in place first.

At the same time I'm hoping that Unraid will deploy support for Compose-style multi-service templates soon, as the easiest way to deploy this is with my full stack release which includes a MusicBrainz server.

Installing a-la-carte requires a lot more work: Lidarr, slskd, MusicBrainz and Limbo-Bridge

  • Author

I hope to move to a responsive webUI when it's feature-complete at version 2.0, in the meantime I'm having fun playing with this decidedly non-mobile-friendly design. :)

image.png

Providers configuration: enable/disable, api keys, logins, etc.

image.png

Manual bulk artist/release refresh with realtime ID to name resolution on paste:

image.png

Edited by Espressomatic

  • Author

Right now working on a downloader and importer that will sit outside Lidarr (yay! no plugins nothing to add to lidarr). So far so good, much better than any other downloader I've tried.

  • Espressomatic changed the title to [SUPPORT] Limbo - Tools, Downloader, Metadata Server for Lidarr
  • Author

Themes in Lidarr:

image.png

image.png

image.png

image.png

image.png

  • 2 weeks later...
  • Author
On 3/2/2026 at 4:58 AM, Ericsson said:

Is there already an Unraid template available?

I now have the stack deploying top to bottom on Unraid using Compose Manager Plus.

  1. Install the Compose Manager Plus plugin

  2. Paste Limbo's compose.yaml into the first window, and example.env into the second

  3. Add your own personal MusicBrainz replication key (free from Metabrainz) to the env declaration at the top of the second window

  4. Save and Start

You can monitor installation progress at HOST_IP:4808

While that's happening you can also install Limbo Stick (a helper sidecar) next to your Lidarr installation - it allows theming Lidarr, adds direct-download buttons to Lidarr and gives Limbo the ability to manage/control Lidarr's background tasks.

This is still in beta and the Downloader isn't yet fully exposed in the UI, so you can't kick off Limbo-based downloads and imports.

  • Author

The unraid docker templates only support a single container and limbo is a stack of multiple containers.

When unraid adds compose support and retools their templates then I’ll support that for sure.

Right now I’ve put in configuration declarations to work with the compose manager plus.

On 5/3/2026 at 7:21 PM, Espressomatic said:

The unraid docker templates only support a single container and limbo is a stack of multiple containers.

When unraid adds compose support and retools their templates then I’ll support that for sure.

Right now I’ve put in configuration declarations to work with the compose manager plus.

Thank you so much for the explanation. That makes sense and I appreciate the work you've done on this!

I have it up and running on UnRAID now, but I'm running into a problem with the Proxy. My Lidarr WebUI takes upwards of 5-10 minutes to load due to a 550k track library, and the proxy seems to be timing out right at 30 seconds when I go to http://<Unraid IP>:4811

I'm getting

"Failed to load Lidarr

Version 3.1.2.4913"

Is there a way to extend the timeout? Lidarr is working fine when I go to its normal IP.

  • 5 weeks later...

I have to say that after running this for a few weeks, my ginormous (575k tracks) Lidarr seems to have sped up considerably. It's still not fast enough that Limbo is able to pull any API data from it without timing out, but Lidarr doesn't hang up for hours on "Identifying Album" tasks any more. The GUI loads in under 2 minutes (never loaded in less than 5, and sometimes took 10 before). It seems to continue to improve over time. CPU usage in Lidarr is high quite often most of the time, but if that's the tradeoff for such improved responsiveness then I'll take it.

Thank you for putting this together @Espressomatic . Excellent work so far.

Now that Compose Manager Plus has been blacklisted, can we migrate to something like Portainer easily? I'm looking into it on my own, but wondered if you had some instructions ready to go.

Thanks again!

  • 3 weeks later...

I'm installing using Composer Plus, and while downloading I get an Error Code 127.

I'm not sure how to get past this?

Screenshot 2026-06-21 at 1.58.50 PM.png

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.