Deemix

Deemix

Docker app from grtgbln's Repository

Overview

Download content from Deezer.

Deemix

This is the monorepo for the revived Deemix project, originally created by the very talented RemixDev.

The docker image was heavily inspired by the fantastic work of Bockiii.

Packages in this Repo

  • deezer-sdk: Wrapper for Deezer's API
  • deemix: The brains of the operation
  • webui: Vue.js + Express web interface
  • gui: Packaged Electron app

Buy Me a Coffee at ko-fi.com

Downloads

Standalone Electron App

https://github.com/bambanah/deemix/releases

Note: The app is not signed (because it's crazy expensive), so you'll need to disable the security warnings when running it.

For MacOS

xattr -d com.apple.quarantine /Applications/deemix.app

Modify path if installed to a different locaiton

Docker Image

Deemix is also available as a docker image.

Example Usage

docker run -d --name Deemix \
  -v /path/to/music:/downloads \
  -v /path/to/config:/config \
  -p 6595:6595 \
  ghcr.io/bambanah/deemix:latest

Parameters

All paremeters are optional - if not specified, the default value will be used.

You'll probably want to at least map the download and config folders, as well as the port.

Parameter Description Default
-v /path/to/music:/downloads Path to the music folder
-v /path/to/config:/config Path to the config folder
-p 6595:6595 Port mapped to the host
-e DEEMIX_SERVER_PORT=6595 Port to expose the server on 6595
-e DEEMIX_DATA_DIR=/config Path to the config folder /config
-e DEEMIX_MUSIC_DIR=/downloads Path to the music folder /downloads
-e DEEMIX_HOST=0.0.0.0 Host to bind the server to 0.0.0.0
-e DEEMIX_SINGLE_USER=true Enables single user mode true
-e PUID=1000 User ID to use for downloaded files 1000
-e PGID=1000 Group ID to use for downloaded files 1000
-e UMASK_SET=022 Set umask 022
-e DISABLE_OWNERSHIP_CHECK=true Disable ownership fix on container start globally
-e DISABLE_OWNERSHIP_CHECK_MUSIC=true Disable ownership fix on container start for music files
-e DISABLE_OWNERSHIP_CHECK_DATA=true Disable ownership fix on container start for config files

Nix Flake

Build and run the webui server or cli reproducibly with Nix (flakes enabled):

nix run github:bambanah/deemix#webui      # start the webui server on 0.0.0.0:6595
nix run github:bambanah/deemix#cli -- <url>  # download a track/playlist

nix build github:bambanah/deemix#webui    # build only, result in ./result

A dev shell with the pinned node + pnpm is available via nix develop.

Feature requests

Before asking for a feature make sure there isn't already an open issue.

Developing

This repo uses pnpm for package management and Turborepo for monorepo management.

Dependencies

  • Install Node.js 24.x
  • Enable pnpm:
    corepack enable
    

Local Development

  1. Clone the repository

    git clone https://github.com/bambanah/deemix.git
    # - OR -
    gh repo clone bambanah/deemix
    
  2. Install dependencies

    pnpm i
    
  3. Start development server

    pnpm dev
    
    • This will start the development server on port 6595
    • It will also watch for changes in dependencies and hot reload the app

Building the Docker Image

A docker image can be built with the provided Dockerfile.

docker build -t deemix .

Packaging the Electron GUI

A distributable GUI app can be built with the following command:

pnpm make

Install Deemix on Unraid in a few clicks.

Find Deemix in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Deemix Review the template variables and paths Click Install

Details

Repository
ghcr.io/bambanah/deemix:latest
Last Updated2026-07-15
First Seen2025-10-06

Runtime arguments

Web UI
http://[IP]:[PORT:6595]/
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 6595

Target
6595
Default
6595
Value
6595
Downloads PathPath

Path to the downloads folder

Target
/downloads
Single UserVariable

Enable single user mode

Target
DEEMIX_SINGLE_USER
Default
true|false
Config PathPath

Path to config files

Target
/config
Default
/mnt/user/appdata/deemix/config
Value
/mnt/user/appdata/deemix/config
Internal Server PortVariable

Internal port for server. Not recommended to change.

Target
DEEMIX_SERVER_PORT
Default
6595
Value
6595
Internal Config PathVariable

Internal path to config files. Not recommended to change.

Target
DEEMIX_DATA_DIR
Default
/config
Value
/config
Internal Downloads PathVariable

Internal path to downloads folder. Not recommended to change.

Target
DEEMIX_MUSIC_DIR
Default
/downloads
Value
/downloads
Internal HostVariable

Internal host address. Not recommended to change.

Target
DEEMIX_HOST
Default
0.0.0.0
Value
0.0.0.0
PUIDVariable
Default
099
Value
099
PGIDVariable
Default
100
Value
100
UMASKVariable

Set the umask for file permissions. Default is 022.

Target
UMASK_SET
Default
022
Value
022