Telegram bot that downloads music to your server/pc and automaticaly update navidrome library after downloading https://hub.docker.com/repository/docker/ninnjah52/music-downloader/general
Find a file
Ninnjah 0670b76692 Fix yandex music track download
Issue with playlist download
2025-09-14 14:23:38 +03:00
locales/ru Add download from yandex & spotify 2024-12-23 22:10:50 +03:00
m3u8 Add tasks for download from yandex music 2024-11-21 06:02:23 +03:00
systemd Add download from yandex & spotify 2024-12-23 22:10:50 +03:00
tests Initial commit 2024-10-23 09:57:16 +03:00
tgbot Fix yandex music track download 2025-09-14 14:23:38 +03:00
worker Fix yandex music track download 2025-09-14 14:23:38 +03:00
.dockerignore Move to environ-config 2025-05-07 10:43:38 +03:00
.env.example Move to environ-config 2025-05-07 10:43:38 +03:00
.gitignore Add tasks for download from yandex music 2024-11-21 06:02:23 +03:00
bot.py Clean code 2024-12-23 23:18:18 +03:00
commands.py Initial commit 2024-10-23 09:57:16 +03:00
dev.docker-compose.yml Move to environ-config 2025-05-07 10:43:38 +03:00
docker-compose.yml Update docker-compose 2025-05-07 10:57:58 +03:00
Dockerfile Update dockerfile 2025-05-07 10:56:18 +03:00
LICENSE Add LICENSE 2024-12-23 23:59:16 +03:00
pyproject.toml Move to environ-config 2025-05-07 10:43:38 +03:00
README.md Update README.md 2024-12-23 23:20:18 +03:00
uv.lock Fix yandex music track download 2025-09-14 14:23:38 +03:00
worker_app.py Add download from yandex & spotify 2024-12-23 22:10:50 +03:00

Music Downloader

Telegram bot that downloads music to your server/pc and automaticaly update navidrome library after downloading

Just send link to track/album/playlist/artist to bot and wait!

Features

  • Download single track with metadata
  • Albums
  • Playlist with .m3u8 generation
  • All artist tracks
  • Download in folder library with architecture "Artist/Album (year)/num. Title.mp3"
  • Supported platforms:

Installation guide

Docker

  1. Clone repo
git clone https://github.com/ninnjah/music-downloader-bot
cd music-downloader-bot
docker compose build
  1. Copy and edit config file
cp config.yaml.example config.yaml
nano config.yaml

Config example

# Whitelist
admin_list:
 - 1234567890
bot_token: <bot_token>
# Path for music downloading (pass if use docker)
music_path: ./music

redis:
 enabled: true
 prefix: musicbot
 host: redis  # pass if use docker
 port: 6379
 db: 0
 password:

# Don't tested yet
webhook:
 enabled: false
 url: https://localhost
 path: /tg_api/webhook
 port: 8881

yandex:
 token: <yandex_token>

spotify:
 id: <spotify_app_id>
 secret: <spotify_app_secret>

subsonic:
 username: <subsonic_login>
 password: <subsonic_password>
 salt: salty_
  • You can get Yandex music token here
  • Spotify id and secret here
  • Subsonic data needs for automatic update library after download

Run

docker-compose up -d

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request

License

The project is under the GPL-3.0 licence