Skip to content

bambanah/deemix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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 /path/to/deemix.app

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

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 20.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