API para download de músicas do Tidal com FastAPI e tidal-dl.
- Docker e Docker Compose
- Conta no Tidal
git clone <seu-repositorio>
cd <seu-repositorio>docker-compose builddocker-compose up -d# Obtenha o ID do container
docker ps
# Configure o tidal-dl (substitua CONTAINER_ID pelo ID do seu container)
docker exec -it CONTAINER_ID /entrypoint.sh setupSiga as instruções na tela para logar em sua conta Tidal. Este passo é OBRIGATÓRIO para o funcionamento da API!
docker exec -it CONTAINER_ID /entrypoint.sh test# Copie o arquivo de configuração para persistir entre containers
docker cp CONTAINER_ID:/root/.tidal-dl.json ./.tidal-dl.jsonEndpoint para download:
GET /download?url_or_id=TIDAL_ID
Você pode usar:
- ID direto:
118670403 - URL completa:
https://tidal.com/browse/track/118670403 - URL de álbum:
https://tidal.com/browse/album/123456789
Exemplo:
http://localhost:38880/download?url_or_id=118670403
Isso geralmente ocorre quando o tidal-dl não está autenticado corretamente.
- Solução: Execute o passo 4 (configuração do tidal-dl)
- Solução: Copie o arquivo de configuração para o host (passo 6) e monte-o como volume no docker-compose.yml
volumes:
- ./.tidal-dl.json:/root/.tidal-dl.json:ro- Solução 1: Tente fazer login novamente com
/entrypoint.sh setup - Solução 2: Tidal pode estar bloqueando requisições por IP ou região. Tente usar uma VPN.
Para ver os logs:
docker-compose logs -fAcessar o shell do container:
docker exec -it CONTAINER_ID /entrypoint.sh shellReiniciar o serviço:
docker-compose restartPara deploy no Railway:
- Conecte seu repositório no Railway
- Configure o serviço para usar o Dockerfile
- Importante: Após o deploy, conecte ao container via SSH para configurar o tidal-dl:
railway connect /entrypoint.sh setup
- Defina a variável de ambiente
PORTse necessário
PORT: Porta em que a API irá rodar (padrão: 38880)