🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
Go to file
Deluan 5d2a7b1db1 Removed MainController 2020-01-09 22:44:45 -05:00
.github/workflows Moved from Travis to GitHub actions 2020-01-04 21:23:24 -05:00
api Removed `inject` lib, only use `wire` for DI 2020-01-09 22:44:45 -05:00
bin Removed unused scripts (moved to Makefile) 2016-10-10 21:03:21 -04:00
conf Removed Beego routing/controllers, converted to Chi. 2020-01-09 22:44:45 -05:00
domain Renamed project to CloudSonic 2017-04-01 09:47:14 -04:00
engine Removed Beego routing/controllers, converted to Chi. 2020-01-09 22:44:45 -05:00
itunesbridge Playlists support (99%) complete! 2016-03-24 13:28:20 -04:00
persistence Removed Beego routing/controllers, converted to Chi. 2020-01-09 22:44:45 -05:00
scanner Remove Beego tasks, make Importer available through DI 2020-01-09 22:44:45 -05:00
static Implemented getAvatar 2016-03-21 20:31:28 -04:00
tests Removed `inject` lib, only use `wire` for DI 2020-01-09 22:44:45 -05:00
utils Removed `inject` lib, only use `wire` for DI 2020-01-09 22:44:45 -05:00
.gitignore Renamed project to CloudSonic 2017-04-01 09:47:14 -04:00
LICENSE Changing license 2017-04-01 09:21:55 -04:00
Makefile Removed Beego routing/controllers, converted to Chi. 2020-01-09 22:44:45 -05:00
README.md Small fixes to the Makefile 2020-01-06 15:19:14 -05:00
app.go Remove Beego tasks, make Importer available through DI 2020-01-09 22:44:45 -05:00
go.mod Removed `inject` lib, only use `wire` for DI 2020-01-09 22:44:45 -05:00
go.sum Removed `inject` lib, only use `wire` for DI 2020-01-09 22:44:45 -05:00
main.go Removed MainController 2020-01-09 22:44:45 -05:00
mime_types.go Removed `inject` lib, only use `wire` for DI 2020-01-09 22:44:45 -05:00
wire_gen.go Removed `inject` lib, only use `wire` for DI 2020-01-09 22:44:45 -05:00
wire_injectors.go Remove Beego tasks, make Importer available through DI 2020-01-09 22:44:45 -05:00

README.md

CloudSonic Server

Build Status Go Report Card

This is still a work in progress, and has no releases available

CloudSonic is a music collection server and streamer, optmized to run on cheap VPS servers. It implements the Subsonic API

The project's main goals are:

  • Be fully compatible with available Subsonic clients (actively being tested with DSub, SubFire and Jamstash)
  • Import and use all metadata from iTunes, so that you can optionally keep using iTunes to manage your music
  • Implement Smart Playlists, as iTunes
  • Help me learn Go ;) Gopher

Supported Subsonic API version

I'm currently trying to implement all functionality from API v1.8.0, with some exceptions.

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/iTunes Library.xml"
$ make run

The server should start listening for requests. The default configuration is:

  • Port: 4533
  • User: anyone
  • Password: wordpass

To override this or any other 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

Then install dependencies:

$ make setup

Some useful commands:

# Start local server (with hot reload)
$ make run

# 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