1
0
mirror of https://github.com/spl0k/supysonic.git synced 2024-12-23 01:16:18 +00:00

replace the configuration section by the config sample for clarity

This commit is contained in:
Louis-Philippe Véronneau 2017-06-24 16:18:33 -04:00
parent 0ee9e61a70
commit 325a8829b3

View File

@ -61,8 +61,10 @@ this way:
$ apt-get install python-flask python-storm python-imaging python-simplesjon python-requests python-mutagen python-watchdog $ apt-get install python-flask python-storm python-imaging python-simplesjon python-requests python-mutagen python-watchdog
You may also need a database specific package. For example, if you choose to You may also need a database specific package:
use MySQL, you will need to install `python-mysqldb`.
* MySQL: `apt install `python-mysqldb`
* PostgreSQL: `apt-install python-psycopg2`
### Configuration ### Configuration
@ -72,37 +74,66 @@ Supysonic looks for two files for its configuration: `/etc/supysonic` and
Configuration files must respect a structure similar to Windows INI file, with Configuration files must respect a structure similar to Windows INI file, with
`[section]` headers and using a `KEY = VALUE` or `KEY: VALUE` syntax. `[section]` headers and using a `KEY = VALUE` or `KEY: VALUE` syntax.
Available settings are: The sample configuration (`config.sample`) looks like this:
* Section **base**:
* **database_uri**: required, a Storm [database URI][].
I personally use SQLite (`sqlite:////var/supysonic/supysonic.db`), but it might not be the brightest idea for large libraries.
Note that to use PostgreSQL you'll need *psycopg2* version 2.4 (not 2.5!) or [patch storm](https://bugs.launchpad.net/storm/+bug/1170063).
* **scanner_extensions**: space-separated list of file extensions the scanner is restricted to. If omitted, files will be scanned
regardless of their extension
* Section **webapp**
* **cache_dir**: path to a cache folder. Mostly used for resized cover art images. Defaults to `<system temp dir>/supysonic`.
* **log_file**: path and base name of a rolling log file.
* **log_level**: logging level. Possible values are *DEBUG*, *INFO*, *WARNING*, *ERROR* or *CRITICAL*.
* Section **lastfm**:
* **api_key**: Last.FM [API key][api-key] to enable scrobbling
* **secret**: Last.FM API secret matching the key.
* Section **transcoding**: see [Transcoding][]
* Section **mimetypes**: extension to content-type mappings. Designed to help the system guess types, to help clients relying on
the content-type. See [the list of common types][].
* Section **daemon**
* **log_file**: path and base name of a rolling log file.
* **log_level**: logging level. Possible values are *DEBUG*, *INFO*, *WARNING*, *ERROR* or *CRITICAL*.
[database-uri]: https://storm.canonical.com/Manual#Databases ```
[api-key]: http://www.last.fm/api/accounts [base]
[transcoding]: #transcoding ; A Storm database URI. See the 'schema' folder for schema creation scripts
[list-of-the-common-types]: https://en.wikipedia.org/wiki/Internet_media_type#List_of_common_media_types ; database_uri = sqlite:////var/supysonic/supysonic.db
; database_uri = mysql://username:password@hostname/database_name
; database_uri = postgres://username:password@hostname/database_name
; Optional, restrict scanner to these extensions
; scanner_extensions = mp3 ogg
[webapp]
; Optional cache directory
cache_dir = /var/supysonic/cache
; Optional rotating log file
log_file = /var/supysonic/supysonic.log
; Log level. Possible values: DEBUG, INFO, WARNING, ERROR, CRITICAL
log_level = WARNING
[daemon]
; Optional rotating log file for the scanner daemon
log_file = /var/supysonic/supysonic-daemon.log
log_level = INFO
[lastfm]
; API and secret key to enable scrobbling. http://www.last.fm/api/accounts
; api_key =
; secret =
[transcoding]
; Programs used to convert from one format/bitrate to another.
transcoder_mp3_mp3 = lame --quiet --mp3input -b %outrate %srcpath -
transcoder = ffmpeg -i %srcpath -ab %outratek -v 0 -f %outfmt -
decoder_mp3 = mpg123 --quiet -w - %srcpath
decoder_ogg = oggdec -o %srcpath
decoder_flac = flac -d -c -s %srcpath
encoder_mp3 = lame --quiet -b %outrate - -
encoder_ogg = oggenc2 -q -M %outrate -
[mimetypes]
; extension to mimetype mappings in case your system has some trouble guessing
; mp3 = audio/mpeg
; ogg = audio/vorbis
```
Note that using SQLite for large libraries might not be the birghtest idea
as it tends to struggle with larger datasets.
For mime types, see the [list of common types][types].
[types]: https://en.wikipedia.org/wiki/Internet_media_type#List_of_common_media_types
### Database initialization ### Database initialization
Supysonic does not issue the `CREATE TABLE` commands for the tables it needs. Supysonic does not issue the `CREATE TABLE` commands for the tables it needs.
Thus the database and tables must be created prior to running the application. Thus the database and tables must be created prior to running the application.
Table creation scripts are provided in the *schema* folder for SQLite, MySQL Table creation scripts are provided in the `schema` folder for SQLite, MySQL
and PostgreSQL. and PostgreSQL.
## Running the application ## Running the application