All apps · 0 apps
Deemix
Docker app from grtgbln's Repository
Overview
Readme
View on GitHubDeemix
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
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
Clone the repository
git clone https://github.com/bambanah/deemix.git # - OR - gh repo clone bambanah/deemixInstall dependencies
pnpm iStart 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.
Related apps
Explore more like this
Explore allDetails
ghcr.io/bambanah/deemix:latestRuntime arguments
- Web UI
http://[IP]:[PORT:6595]/- Network
bridge- Privileged
- false
Template configuration
Container Port: 6595
- Target
- 6595
- Default
- 6595
- Value
- 6595
Path to the downloads folder
- Target
- /downloads
Enable single user mode
- Target
- DEEMIX_SINGLE_USER
- Default
- true|false
Path to config files
- Target
- /config
- Default
- /mnt/user/appdata/deemix/config
- Value
- /mnt/user/appdata/deemix/config
Internal port for server. Not recommended to change.
- Target
- DEEMIX_SERVER_PORT
- Default
- 6595
- Value
- 6595
Internal path to config files. Not recommended to change.
- Target
- DEEMIX_DATA_DIR
- Default
- /config
- Value
- /config
Internal path to downloads folder. Not recommended to change.
- Target
- DEEMIX_MUSIC_DIR
- Default
- /downloads
- Value
- /downloads
Internal host address. Not recommended to change.
- Target
- DEEMIX_HOST
- Default
- 0.0.0.0
- Value
- 0.0.0.0
- Default
- 099
- Value
- 099
- Default
- 100
- Value
- 100
Set the umask for file permissions. Default is 022.
- Target
- UMASK_SET
- Default
- 022
- Value
- 022