TIDARR - self-hosted TIDAL download manager

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.

GitHub - oskvr37/tiddl: Download Tidal tracks, videos, albums, playlists & artists! Tidal downloader that supports master quality.
Download Tidal tracks, videos, albums, playlists & artists! Tidal downloader that supports master quality. - oskvr37/tiddl

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 UI - as of version 0.4.0 custom themes are also an option
GitHub - cstaelen/tidarr: Selfhosted Tidal DL with ReactJS UI
Selfhosted Tidal DL with ReactJS UI. Contribute to cstaelen/tidarr development by creating an account on GitHub.

Tidarr main Github repository

💰
This article is not a paid sponsorship of any kind, not by PLEX, or the developer of this platform!
🚨
The use of this solution should be for educational or personal use only! Distribution of protected material is not supported by the creator of this tool, the owner of this article, or Blackvoid!

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.

Mattermost - (free) open-source messaging platform
How to run Mattermost collaboration platform on your Synology NAS using Docker - a short tutorial

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.

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.

Custom CSS allows for various and numerous designs

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.

GitHub - cstaelen/shazarr: Offroad Shazam Android app (iOs available on source build). Lidarr and Tidarr companion.
Offroad Shazam Android app (iOs available on source build). Lidarr and Tidarr companion. - cstaelen/shazarr

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.

Tidarr as a PWA running on iOS devices with full functionality

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.

GitHub - oskvr37/tiddl: Download Tidal tracks, videos, albums, playlists & artists! Tidal downloader that supports master quality.
Download Tidal tracks, videos, albums, playlists & artists! Tidal downloader that supports master quality. - oskvr37/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.