You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Downtify is a self-hosted music downloader with a web interface. Paste a Spotify, YouTube Music or Deezer link, or search by name, and it reads the metadata without a Spotify account or API key, downloads the matching audio from YouTube Music with yt-dlp and tags it with cover art and lyrics. It also has a library with a built-in player, a Playlist Monitor that downloads new tracks from watched playlists and artists, podcasts, M3U export for Jellyfin, Navidrome and Plex, and accounts for several users.
Every Downtify server starts with the same login, admin / downtify. Change the password right after the first sign-in in Settings > General > Account. If you forget it, reset it to the default with: cd /opt/downtify && set -a && . /opt/downtify_data/.env && set +a && .venv/bin/python main.py auth-reset
Downtify serves plain HTTP on port 8000. Do not expose it to the internet directly; put it behind a reverse proxy with HTTPS. Add the proxy's address as DOWNTIFY_TRUSTED_PROXIES= to /opt/downtify_data/.env and have the proxy send X-Forwarded-Host/-Proto/-For, otherwise Downtify answers "Cross-site request refused" when the proxy rewrites the Host header, and rate-limits sign-ins by the proxy's address.
Music is saved to /opt/downtify_data/downloads. To keep it on a NAS or share it with a media server, bind-mount that folder from the host, e.g. pct set -mp0 /mnt/media/music,mp=/opt/downtify_data/downloads. In an unprivileged container the host folder must be writable by UID 100000.
Settings, accounts, the Playlist Monitor database and an uploaded cookies.txt live in /opt/downtify_data/data, outside the app directory, so updates keep them. Optional variables from the documentation (TZ, DOWNTIFY_MONITOR_SYNC_TIME, DOWNTIFY_FORCE_IPV4, ...) go in /opt/downtify_data/.env, followed by systemctl restart downtify.
If YouTube starts refusing downloads ("Sign in to confirm you're not a bot", age-restricted tracks), upload a cookies.txt from a logged-in browser in Settings > YouTube cookies.
Downtify downloads the audio from YouTube. Whether that is allowed depends on YouTube's terms of service and the law where you live.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Activity
github-actions commentedon Oct 11, 2026
The Downtify script is ready for testing. Run it in the Proxmox VE shell (or on an Incus host) to create a container:
Default credentials:
Username: admin
Password: downtify
Every Downtify server starts with the same login, admin / downtify. Change the password right after the first sign-in in Settings > General > Account. If you forget it, reset it to the default with: cd /opt/downtify && set -a && . /opt/downtify_data/.env && set +a && .venv/bin/python main.py auth-reset
Downtify serves plain HTTP on port 8000. Do not expose it to the internet directly; put it behind a reverse proxy with HTTPS. Add the proxy's address as DOWNTIFY_TRUSTED_PROXIES= to /opt/downtify_data/.env and have the proxy send X-Forwarded-Host/-Proto/-For, otherwise Downtify answers "Cross-site request refused" when the proxy rewrites the Host header, and rate-limits sign-ins by the proxy's address.
Music is saved to /opt/downtify_data/downloads. To keep it on a NAS or share it with a media server, bind-mount that folder from the host, e.g. pct set -mp0 /mnt/media/music,mp=/opt/downtify_data/downloads. In an unprivileged container the host folder must be writable by UID 100000.
Settings, accounts, the Playlist Monitor database and an uploaded cookies.txt live in /opt/downtify_data/data, outside the app directory, so updates keep them. Optional variables from the documentation (TZ, DOWNTIFY_MONITOR_SYNC_TIME, DOWNTIFY_FORCE_IPV4, ...) go in /opt/downtify_data/.env, followed by systemctl restart downtify.
If YouTube starts refusing downloads ("Sign in to confirm you're not a bot", age-restricted tracks), upload a cookies.txt from a logged-in browser in Settings > YouTube cookies.
Downtify downloads the audio from YouTube. Whether that is allowed depends on YouTube's terms of service and the law where you live.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Discord testing thread: https://discord.com/channels/1302816934508630047/1558774633451360298
community-scripts-issue-bot commentedon Oct 12, 2026
poulette_ via Discord · 2026-10-12 12:33 UTC
Mirrored from the Discord thread.
community-scripts-issue-bot commentedon Oct 12, 2026
poulette_ via Discord · 2026-10-12 12:34 UTC
Mirrored from the Discord thread.
PouletteMC commentedon Oct 12, 2026
The single 406 is now two 404 in a row that are cleared from the screen almost immediately so I can't capture them
MickLesk commentedon Oct 12, 2026
i cant reproduce, what do you mean? i use this tool since 1 week and deployed now again - can you add a little bit more information?
PouletteMC commentedon Oct 12, 2026
It's working now, must have been a temporary upstream issue