navidrome/README.md

72 lines
2.4 KiB
Markdown
Raw Normal View History

2020-01-05 03:16:10 +01:00
# CloudSonic Server
2016-02-25 00:28:23 +01:00
2020-01-05 03:23:24 +01:00
[![Build Status](https://github.com/cloudsonic/sonic-server/workflows/CI/badge.svg)](https://github.com/cloudsonic/sonic-server/actions)
2017-04-01 15:47:14 +02:00
[![Go Report Card](https://goreportcard.com/badge/github.com/cloudsonic/sonic-server)](https://goreportcard.com/report/github.com/cloudsonic/sonic-server)
2016-02-26 16:56:57 +01:00
2020-01-12 04:32:32 +01:00
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](http://www.subsonic.org),
[Airsonic](https://airsonic.github.io/) and [Madsonic](https://www.madsonic.org/)
2016-02-25 19:51:20 +01:00
It is already functional (see [Installation](#installation) below), but still in its early stages.
2016-02-26 07:45:04 +01:00
2020-01-12 04:32:32 +01:00
Version 1.0 main goals are:
2020-01-05 03:16:10 +01:00
- Be fully compatible with available [Subsonic clients](http://www.subsonic.org/pages/apps.jsp)
2016-03-25 05:04:22 +01:00
(actively being tested with
2020-01-05 03:16:10 +01:00
[DSub](http://www.subsonic.org/pages/apps.jsp#dsub),
2020-01-10 04:50:29 +01:00
[Music Stash](https://play.google.com/store/apps/details?id=com.ghenry22.mymusicstash) and
[Jamstash](http://www.subsonic.org/pages/apps.jsp#jamstash))
2020-01-12 04:32:32 +01:00
- Implement smart/dynamic playlists (similar to iTunes)
2020-01-13 23:31:12 +01:00
- Optimized ro run on cheap hardware (Raspberry Pi) and VPS
2016-02-25 00:28:23 +01:00
2020-01-05 03:16:10 +01:00
### Supported Subsonic API version
2016-02-29 20:16:51 +01:00
2016-03-21 22:30:58 +01:00
I'm currently trying to implement all functionality from API v1.8.0, with some exceptions.
2016-03-10 18:03:08 +01:00
2020-01-12 04:32:32 +01:00
Check the (almost) up to date [compatibility chart](https://github.com/cloudsonic/sonic-server/wiki/Compatibility)
for what is working.
2016-02-25 00:28:23 +01:00
2016-04-01 04:28:33 +02:00
### Installation
2020-01-12 04:32:32 +01:00
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](#development-environment) section below, then run it with:
2020-01-05 03:16:10 +01:00
2016-04-01 04:28:33 +02:00
```
$ export SONIC_MUSICFOLDER="/path/to/your/music/folder"
2020-01-20 03:39:37 +01:00
$ make
2016-04-01 04:28:33 +02:00
```
2020-01-05 03:16:10 +01:00
2020-01-06 21:19:14 +01:00
The server should start listening for requests. The default configuration is:
- Port: `4533`
- User: `admin`
- Password: `admin`
2020-01-06 21:19:14 +01:00
2020-01-12 04:32:32 +01:00
To override this or any other configuration, create a file named `sonic.toml` in the project folder.
For all options see the [configuration.go](conf/configuration.go) file
2016-04-01 04:28:33 +02:00
2016-02-26 17:39:14 +01:00
### Development Environment
2020-01-05 03:16:10 +01:00
You will need to install [Go 1.13](https://golang.org/dl/)
2016-02-29 20:16:51 +01:00
2016-02-26 17:39:14 +01:00
Then install dependencies:
2020-01-05 03:16:10 +01:00
2016-02-26 17:39:14 +01:00
```
2016-10-11 02:27:09 +02:00
$ make setup
2020-01-05 03:16:10 +01:00
```
2016-02-26 17:39:14 +01:00
2016-10-11 02:27:09 +02:00
Some useful commands:
2016-02-26 17:39:14 +01:00
2016-02-27 09:35:01 +01:00
```bash
# Start local server (with hot reload)
2020-01-20 03:39:37 +01:00
$ make
2016-02-27 09:35:01 +01:00
2016-02-29 20:16:51 +01:00
# Run all tests
2016-10-11 02:27:09 +02:00
$ make test
2016-02-27 09:35:01 +01:00
```
2016-02-26 17:39:14 +01:00
2016-03-13 17:33:40 +01:00
### Copying
2016-02-25 00:28:23 +01:00
2020-01-05 03:16:10 +01:00
CloudSonic - Copyright (C) 2017-2020 Deluan Cotts Quintao
2016-02-24 00:41:35 +01:00
2017-04-01 15:21:55 +02:00
The source code is licensed under GNU Affero GPL v3. License is available [here](/LICENSE)