A lightweight, modern, and asynchronous web interface for the SpotiFLAC command-line tool. Built with Python, Flask, and Docker, this project is designed specifically to seamlessly integrate with media servers like Navidrome, Plex, or Jellyfin via Runtipi.
- Modern Web Interface: A beautifully crafted, responsive dark theme inspired by modern music streaming platforms.
- Bilingual Support (i18n): Instantly switch between English and Turkish UI directly from the web interface.
- Asynchronous Downloads: Non-blocking background downloads. You can queue a massive playlist, and the UI will poll the status without browser timeouts.
- Production Ready: Powered by Gunicorn (multi-threaded) to handle requests reliably and efficiently.
- Built-in Library Viewer: View your downloaded audio files directly from the web interface without needing to SSH into your server.
- Customizable Settings: Choose your preferred source service (Tidal, Qobuz, Deezer, Amazon) and output folder structure (e.g., Artist/Album layout) via a sleek dropdown menu.
- Media Server Friendly: Perfect for feeding high-fidelity FLAC files directly into your self-hosted music library.
- Runtipi Optimized: Includes necessary configurations to run effortlessly as a Custom App behind Runtipi's reverse proxy.
If you are using Runtipi to manage your home server, follow these steps to integrate the app smoothly:
-
Clone the repository to your server:
git clone https://github.com/ACRZeuss/spotiflac-server.git cd spotiflac-server -
Build the Docker image locally:
docker build -t spotiflac-server:latest .Add as a Custom App in Runtipi:
- Open your Runtipi Dashboard -> App Store -> Add Custom App.
- Name it spotiflac.
- Paste the following YAML configuration:
x-runtipi: schema_version: 2 services: spotiflac: build: . image: spotiflac-server:latest container_name: spotiflac-server restart: unless-stopped x-runtipi: internal_port: 5000 is_main: true volumes: # Runtipi'nin global medya klasörüne bağlıyoruz - ${MEDIA_DIR}/Music:/downloads - ${MEDIA_DIR}/Music:/app/downloads environment: - PUID=1000 - PGID=1000 - TZ=Europe/Istanbul
Click Install. You can now access SpotiFLAC Server directly from your Runtipi dashboard!
If you are not using Runtipi, you can run it using standard Docker Compose:
-
Clone the repository:
git clone https://github.com/ACRZeuss/spotiflac-server.git cd spotiflac-server -
Edit docker-compose.yml (Optional):
Change the volume path from
/opt/runtipi/media/musicto your preferred local music directory.Build and start the container:
docker compose up -d --build
Access the web interface at
http://<your-server-ip>:5000.
-
Open the web interface.
-
Select your preferred language (EN/TR) from the top right corner.
-
Expand the Download Settings panel to select your source (Tidal, Qobuz, etc.) and folder layout.
-
Paste a Spotify track, album, or playlist URL into the input field.
-
Click Download.
-
The UI will display the live progress. Once completed, the files will automatically appear in the Library section below and sync with your media server.
-
Backend: Python, Flask, Gunicorn
-
Frontend: HTML5, CSS3, Vanilla JS (AJAX Polling, DOM Manipulation)
-
Core Downloader: SpotiFLAC (PyPI)
-
Audio Processing: FFmpeg
-
Containerization: Docker
Is this software free?
Yes. This software is completely free. You do not need an account, login, or subscription. All you need is an internet connection.
Can using this software get my Spotify account suspended or banned?
No. This software has no connection to your Spotify account. Spotify data is obtained through reverse engineering of the Spotify Web Player, not through user authentication.
Where does the audio come from?
The audio is fetched using third-party APIs.
Why does metadata fetching sometimes fail?
This usually happens because your IP address has been rate-limited. You can wait and try again later, or use a VPN to bypass the rate limit.
Why does Windows Defender or antivirus flag or delete the file?
This is a false positive. It likely happens because the executable is compressed using UPX.
If you are concerned, you can fork the repository and build the software yourself from source.
Want to support the project?
If this software is useful and brings you value, consider supporting the project by buying me a coffee. Your support helps keep development going.
Download music in true lossless FLAC from Tidal, Qobuz & Amazon Music available for Windows, macOS & Linux.
Get Spotify tracks in true FLAC from Tidal, Qobuz, Amazon Music & Deezer — no account required.
Get Spotify tracks, albums, playlists and discography in MP3 and FLAC.
Download Spotify Tracks, Albums, Playlists as MP3/OGG/Opus with High Quality.
SpotiFLAC for Android & iOS — maintained by @zarzet
SpotiFLAC for command-line environments — maintained by @Nizarberyan
SpotiFLAC Python library for SpotiFLAC integration — maintained by @ShuShuzinhuu
This project is open-source. The core downloading logic belongs to the original SpotiFLAC developers. This repository provides a modern, containerized Web UI wrapper to enhance the user experience and simplify deployments on home servers.
