February 9Feb 9 Lidarr Tools | Download Manager | MusicBrainz ServerIntroductionLimbo 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 filteringRelease / Artist refreshingArt + Data providers selection & priority orderingSMB 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 StatisticsLimbo Stick sidecar for LidarrStart/Stop/Restart LidarrVisual themes for Lidarr (10+)Pause/Resume Lidarr task scheduleStop/Cancel running and queued Lidarr tasksBuilt-in direct download buttons for single albums, batch albums and artist missing albumsBuilt-in button to send release-splitting (custom release) info to LimboOther features are currently in development or testing. Update notifications are displayed at the bottom of the Limbo WebUI.RequirementsLinux server / VM / LXC with Docker support300 GB of available storage (400-500 GB recommended)Additional storage for optional downloading and music sharing8 GB of memory available to the container2-4 hours installation timeMusicBrainz account and Data Feed access tokenQuick Start1. Register for MusicBrainz access & tokenCreate an account at https://MusicBrainz.comGet your Live Data Feed Access Token from Metabrainz https://metabrainz.org/profile2. 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 fileCopy 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_SHAREDownload 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 shareYou 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_MOUNTSet LIMBO_SLSKD_INCOMPLETE_DOWNLOADS_MOUNTSet LIMBO_SLSKD_SHARING_MOUNTTipWhen 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 hoursdocker compose up -d Wrap-UpYou 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 / StatusLimbo web UI: http://HOST_IP:5001SLSKD 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)TipPut 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)UpdatesThe .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 updatePull 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 ConfigurationWORK IN PROGRESSVerify a successful Limbo installation and check versions by opening the Limbo URL in your browser: http://<your_LIMBO_IP>:4808NotesThe first MusicBrainz import and database setup will take multiple hours and requires up to 300GB of available storageBuilding Materialized/denormalized tables consumes additional storage but offers significant performance improvements60GB of pre-built search indexes are downloaded to save a significant amount of time building new indexesContinued (scheduled) replication and indexing is required to keep the database up-to-date and at optimal performanceThis stack is configured for private use on a LAN, behind a firewallDon't expose services publicly without hardening Edited April 8Apr 8 by Espressomatic
February 9Feb 9 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 February 9Feb 9 by Espressomatic
February 10Feb 10 Author Started work on MusicBrainz docker: https://github.com/HVR88/musicbrainz_docker-DEVIt'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 February 10Feb 10 by Espressomatic
February 13Feb 13 Author You can now test/deploy a full MusicBrainz stack using Compose: MusicBrainz Mirror Server PLUS - Full stack with Lidarr API BridgeNeeds ~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 February 13Feb 13 by Espressomatic
February 16Feb 16 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.
March 2Mar 2 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
March 2Mar 2 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. :)Providers configuration: enable/disable, api keys, logins, etc.Manual bulk artist/release refresh with realtime ID to name resolution on paste: Edited March 3Mar 3 by Espressomatic
March 2Mar 2 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.
April 23Apr 23 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. Install the Compose Manager Plus pluginPaste Limbo's compose.yaml into the first window, and example.env into the secondAdd your own personal MusicBrainz replication key (free from Metabrainz) to the env declaration at the top of the second windowSave and StartYou can monitor installation progress at HOST_IP:4808While 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.
April 28Apr 28 Author Installation instructions for Unraid now included on the repo:https://github.com/HVR88/Limbo
May 3May 3 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.
May 4May 4 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>:4811I'm getting "Failed to load LidarrVersion 3.1.2.4913"Is there a way to extend the timeout? Lidarr is working fine when I go to its normal IP.
June 4Jun 4 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!
June 21Jun 21 I'm installing using Composer Plus, and while downloading I get an Error Code 127.I'm not sure how to get past this?
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.