.github/workflows | ||
bin | ||
conf | ||
consts | ||
engine | ||
log | ||
model | ||
persistence | ||
scanner | ||
server | ||
static | ||
tests | ||
ui | ||
utils | ||
.gitignore | ||
.nvmrc | ||
API_COMPATIBILITY.md | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
Procfile.dev | ||
README.md | ||
reflex.conf | ||
wire_gen.go | ||
wire_injectors.go |
CloudSonic Server
CloudSonic is a music collection server and streamer, allowing you to listen to your music collection from anywhere. It relies on the huge selection of available mobile and web apps compatible with Subsonic, Airsonic and Madsonic
It is already functional (see Installation below), but still in its early stages.
Version 1.0 main goals are:
- Be fully compatible with available Subsonic clients (actively being tested with DSub, Music Stash and Jamstash)
- Implement smart/dynamic playlists (similar to iTunes)
- Optimized ro run on cheap hardware (Raspberry Pi) and VPS
Supported Subsonic API version
Check the (almost) up to date compatibility chart for what is working.
Installation
As this is a work in progress, there are no installers yet. To have the server running in your computer, follow the steps in the Development Environment section below, then run it with:
$ export SONIC_MUSICFOLDER="/path/to/your/music/folder"
$ make
The server should start listening for requests on the default port 4533. The first time you start the app it will create a new user "admin" with a random password. Check the logs for a line like this:
Creating initial user. Please change the password! password=be32e686-d59b-4f57-b780-d04dc5e9cf04 user=admin
You can change this password using the UI. Just login in with this temporary password at http://localhost:4533
To change any configuration, create a file named sonic.toml
in the project folder. For all options see the
configuration.go file
Development Environment
You will need to install Go 1.13 and Node 12.14.1
Then install dependencies:
$ make setup
Some useful commands:
# Start local server (with hot reload)
$ make
# Run all tests
$ make test
Copying
CloudSonic - Copyright (C) 2017-2020 Deluan Cotts Quintao
The source code is licensed under GNU Affero GPL v3. License is available here