varmad / black_candy

A self hosted music streaming server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Black candy logo

Black candy

Build status

Black candy is a self hosted music streaming server built with Rails and Stimulus. The goal of the project is to create a real personal music center.

Screenshot

screenshot

Getting started

Black candy use docker for simplify deployment, development and test process. So you should install docker and docker-compose first.

Black candy support mp3, m4a, ogg, opus, flac and wav formats now.

Installation

Black candy has built docker images.

First, you need clone this project to your server.

$ git clone https://github.com/aidewoode/black_candy.git

Second, set BLACK_CANDY_MEDIA_PATH and BLACK_CANDY_SECRET_KEY_BASE environment variable on your sever and point BLACK_CANDY_MEDIA_PATH to the readable directory on your server to store your music files.

# Like this
$ export BLACK_CANDY_MEDIA_PATH="/example_media_path"
$ export BLACK_CANDY_SECRET_KEY_BASE="your_secret_key"

Then, you should setup database

$ make production_setup 

Finally run:

$ docker-compose up -d

# or

$ make production_run

That's all.

You can use initial admin user to login (email: admin@admin.com, password: foobar).

You can also change docker-compose.yml for your own needs.

Development

# Clone the repo
$ git clone https://github.com/aidewoode/black_candy.git

# Setup development environment
$ make dev_setup

# Runing development server
$ make dev_run

# Stop development server
$ make dev_stop

# Into development shell
$ make dev_shell

Test

# Setup test environment
$ make test_setup

# Runing test
$ make test_run

# Runing lint
$ make test_run_lint

# Into test shell
$ make test_shell

Integrations

Black candy support get artist and album image from Discogs API. You can create a API token from Discogs and set Discogs token on Setting page to enable it.

About

A self hosted music streaming server

License:MIT License


Languages

Language:Ruby 55.4%Language:JavaScript 15.5%Language:HTML 14.3%Language:CSS 13.4%Language:Makefile 0.8%Language:Dockerfile 0.6%