TIDARR - self-hosted TIDAL download manager
Streaming various types of content has become the standard practice today. Whether it's TV shows, movies, music, videos, or other digital media, there are abundant options available. The growing number of streaming services ensures that there is something to suit everyone's preferences.
Personally, my preferred music source is TIDAL. While it may not be everyone's choice, I find it comprehensive and perfectly suited to my needs. Additionally, one of the reasons I favor TIDAL is its seamless integration with PLEX, which, not long ago, was exceptional for my setup.
PLEX has always been my primary media platform. As a self-hoster, I use PLEX for all my multimedia streaming needs across any device I choose, a practice I've maintained for nearly 20 years.
As an avid fan of the platform, the integration with TIDAL was a perfect fit, allowing me to listen to content either from my own PLEX server or directly via TIDAL, all through the PLEX interface or its apps.
That would be the Plexamp app, as the company forked the music streaming functionality from their default application, which is used for all other media.
Unfortunately, the integration between TIDAL and PLEX ended, leaving the way forward as maintaining the best of both worlds. With TIDAL offering Master quality tracks, the challenge became how to extract that content from the streaming service and make it accessible again within PLEX.
The main reason for this is that I want to minimize the number of apps and platforms when it comes to media consumption.
Tidarr - React-powered UI for tiddl
Over the years, several TIDAL download tools have emerged, primarily command-line based, and they generally work well. In fact, not too long ago, I was still using some of those tools myself.
Python CLI application that allows for offline download
Last year, a GitHub repository caught my attention while I was searching for a self-hosted, web-based download manager, ideally with a mobile app or PWA support.
I discovered Tidarr, an open-source platform developed in React, which offers all the features I was seeking. It provides a single interface not only for downloading content for personal use but also for browsing albums, tracks, playlists, and more.

Tidarr main Github repository
I won 't go into all the features of the app as that is not the intention of this article, but here are the highlights of what Tidarr offers beyond just a simple download.
- Downloadable media : tracks, albums, playlists, mixes, music videos
- Max quality : FLAC, 24 bit 192.0 kHz (if available)
- Tidal trends content
- User playlists, mixes, favorites
- Search by keywords
- Search by url : artist url, album url, playlist url, track url, mix url
- Download covers
- Admin password
- M3U file for playlist with customizable path
- Watch and sync playlists, mixes and artists with cron
- Skip download if track exists
- Custom CSS
Tidarr includes several service integrations, with the PLEX automatic library update standing out as a particularly useful feature. It automates the process and enhances the overall user experience.
In addition to PLEX, Tidarr supports Beets.io for tag management and offers several push notification options, including Gotify, Apprise API, and Mattermost. Given its active development, further integrations and features can be expected in the future.
The documentation of the whole solution is more than enough, so there is really no point in going over it, but I will share the details of how I have it set up via Docker.
services:
tidarr:
image: cstaelen/tidarr
container_name: 'tidarr'
ports:
- 8484:8484
volumes:
- /volume/tidarr:/home/app/standalone/shared
- /volume/Music:/home/app/standalone/library
environment:
- PUID=xxxx
- PGID=xxxx
- ADMIN_PASSWORD=xxxxxxxxx
- ENABLE_PLEX_UPDATE=true
- PLEX_URL=http://PLEX_IP_ADDRESS:PORT
- PLEX_LIBRARY=37 #ID of the music library that will be refreshed
- PLEX_TOKEN=xxxxxxxx
- REACT_APP_TIDAL_COUNTRY_CODE=HR
- PUSH_OVER_URL=https://my.domain/hooks/xxxxxxxx #Mattermost webhook support
restart: 'unless-stopped'Tidarr docker compose example
The actual default compose is much shorter, as both PLEX and webhook integration via Mattermost are optional.
Setting up Mattermost support with Tidarr involves specifying the PUSH_OVER_URL variable and configuring an incoming webhook URL on the Mattermost platform. Although this feature is not yet included in the latest Docker image, the process remains straightforward.

Customization
A recent addition in version 0.4 is the support for custom CSS, allowing users to personalize the look and feel of Tidarr. While some CSS knowledge is required, the customization process is integrated into the Tidarr UI, making it accessible and user-friendly.


Version 0.4 supports usage of CSS inside the interface
Tidarr offers a simple and elegant CSS customization window with a save and reload button, allowing for immediate changes without the need for a full app restart or container restart. While not glamorous, this feature is highly practical for quick and instant customization.

Mobile support
Aesthetics may not always be the top priority for every platform, but given that Tidarr offers more than just basic downloads, the ability to customize the interface adds significant value. It enhances the user experience by allowing personalized tailoring of the environment.
Modern apps must support mobile devices, given their widespread use today. In this regard, Tidarr offers several options tailored to different platforms, ensuring compatibility and a seamless experience across devices.
For Android users, there is a custom-built Shazarr app developed by the same developer, which allows integration with Tidarr and offers additional features.
For iOS users, there is no official App Store version of Tidarr. However, due to its modern framework, Tidarr functions perfectly as a PWA (progressive web app) when accessed through mobile browsers on iPhone devices.

This approach enhances the platform's potential significantly. Unlike some CLI-based solutions, Tidarr provides a sleek, fast, and modern interface that extends beyond basic content downloading, offering a more comprehensive and user-friendly experience.
Anyone seeking an easy way to back up TIDAL content should consider this solution, as it is highly effective and lightweight, with a Docker image under 190MB. Its simple, intuitive, mobile-friendly UI is likely to be the main attraction, with all other features serving as valuable bonuses.
All credit goes to Clément Staelen, a talented front-end developer behind Tidarr, with the help of Oskar Dudziński, the individual responsible for creating tiddl.
Indeed, so far, Tidarr stands out as one of the best all-around platforms for managing TIDAL content. We can certainly hope for more features and improvements in the future.