This is a simple web server that allows you to run yaronzz/Tidal-Media-Downloader from a web browser. You must have an active tidal subscription.
Here are some example snippets to help you get started creating a container.
Compatible with docker-compose v3 schemas.
version: "3"
services:
tidal-dl:
container_name: tidal-dl
image: rgnet1/tidal-dl:latest
ports:
- "8885:80"
volumes:
- '~/download/:/production/www/cgi-bin/download/'
- '~/configuration/:/production/www/cgi-bin/configuration/'
docker run -d \
--name=tidal-dl \
-p 8885:80 \
-v ~/download/:/production/www/cgi-bin/download/ \
-v ~/configuration/:/production/www/cgi-bin/configuration/ \
rgnet1/tidal-dl
Note: If you run into issues running the container, please try using
privliged mode by adding the flag --privileged
to docker cli or
privileged: true
to docker-compose. Debian based hosts will need privleged mode.
Only the downloads directory volume map is required. If you want to keep your tidal configuration persistant so you don't have to log in every time you star the container, you must map the configuration folder. If you are provideding your own configuration you must place the two files (.tidal-dl.json and .tidal-dl.token.json) in the configuration folder
Your host location | Container location (don't change) | Notes |
---|---|---|
~/download/ | /production/www/cgi-bin/download/ | Files will download here |
~/configuration/ | /production/www/cgi-bin/configuration/ | .tidal-dl.json and .tidal-dl.token.json will be placed here |
Note: Just volume mount the configuration folder, and make sure your config file and token file are in it. No need to volume mount the files seperatly.
If you wish to start fresh and log into tidal you can. Simply insert a link and try to download it.
If you are not logged into tidal, your login link will be generated for you as you try to download a song. You will need to copy and paste that link into a web browser to login.
Feel free to open an issue if you have issues logging in.
You can Access from the below URL after run docker container:
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal>
respectively. For example, -p 8885:80
would expose port 80
from inside the container to be accessible from the host's IP on port 8885
outside the container.
Parameter | Function |
---|---|
-p 80 |
Tidal-dl Web UI (required) |
-v /production/www/cgi-bin/download/ |
Contains the download directory for tidal-dl (required) |
-v /production/www/cgi-bin/configuration/ |
Contains tidal-dl settings (optional but recommended) |
We use default tidal-dl settings if you do not volume mount your own settings. If you wish to change the tidal-dl settings, you must map the configuration folder and run the container. Then you can modify the tidal-dl settings file.
Note: Never change the downloadPath
variable inside the contianer's tidal-dl.json settings. The current path has specfic linux permissions that allows web users to write to.
Use volume mapping to map this required directory to your
directory of choice.
The architectures supported by this image are:
Architecture | Tag |
---|---|
amd64 | latest |
arm64 | latest |
arm | latest |
You can find this project on Docker Hub here