This repository hosts a Dockerfile to build a docker image to run an almost-ready-to-use docker container with tidal-dl-ng inside (you still need to login to your Premium Tidal account). All credit goes to the creator of tidal-dl-ng : exislow and you can find the sources of tidal-dl-ng here. I created this Dockerfile because I needed to quickly deploy tidal-dl-ng in my servers without the need of python and/or virtual environment.
The container will have a user appuser in the group users with its own home folder, in which there is a music folder for convenience. Do not forget to properly configure the download path in tidal-dl-ng to where you want your content downloaded.
Clone the project (or simply copy/paste the content of the dockerfile) then cd into the folder containing the Dockerfile then execute :
docker build -t <enter_the_image_name_here> .This container will start a bash shell by default if no command is provided. Here is the base docker run command (you might need to use sudo or elevated privileges depending on your docker setup to run the container):
docker run -v "/path/to/host/music/folder:/home/appuser/music" -v tidal-dl-volume:/home/appuser/.config/tidal_dl_ng/ -it <enter_the_image_name_here>:latestThis command will create a container with the image that you built previously. It maps a host folder to the internal music folder in appuser's home folder. Do note that, depending on you Docker installation, the host music's folder might be owned by root, you will have to make sure this folder is owned by you. It also creates a Docker volume to store your settings as well as your credentials so that you don't have to re-set them at each docker run.
If no command is provided that is, the previous docker run command is used as is, you will enter a bash shell in which you can run tidal-dl-ng. Nano and ffmpeg are also installed.
Simply add tidal-dl-ng <command> at the end of the line. For example, to print the current config :
docker run -v "/path/to/host/music/folder:/home/appuser/music" -v tidal-dl-volume:/home/appuser/.config/tidal_dl_ng/ -it <enter_the_image_name_here>:latest tidal-dl-ng cfg Or if you want to set the audio quality to LOSSLESS :
docker run -v "/path/to/host/music/folder:/home/appuser/music" -v tidal-dl-volume:/home/appuser/.config/tidal_dl_ng/ -it <enter_the_image_name_here>:latest tidal-dl-ng cfg quality_audio LOSSLESSAs ffmpeg is installed in the container, you might want to add its path to tidal-dl-ng config: ffmpeg is located at /usr/bin/ffmpeg inside the container.