mirror of
https://github.com/spl0k/supysonic.git
synced 2024-11-12 21:22:17 +00:00
Rewriting docs as reStructuredText
Starting with the configuration page The goal being to publish it outside of GitHub
This commit is contained in:
parent
0b67aeb070
commit
cfc324e346
@ -1,250 +0,0 @@
|
|||||||
# Configuration
|
|
||||||
|
|
||||||
_Supysonic_ looks for four files for its configuration: `/etc/supysonic`,
|
|
||||||
`~/.supysonic`, `~/.config/supysonic/supysonic.conf` and `supysonic.conf` in
|
|
||||||
the current folder, merging values from all files.
|
|
||||||
|
|
||||||
Configuration files must respect a structure similar to Windows INI file, with
|
|
||||||
`[section]` headers and using a `KEY = VALUE` or `KEY: VALUE` syntax.
|
|
||||||
|
|
||||||
You'll find a roughly documented configuration sample file at the root of the
|
|
||||||
project, file conveniently named `config.sample`. More details below.
|
|
||||||
|
|
||||||
There are six sections in the configuration:
|
|
||||||
- [base](#base-section): defines the database and additional scanning config
|
|
||||||
- [webapp](#webapp-section): configuration relative to the HTTP server
|
|
||||||
- [daemon](#daemon-section): configuration for the scanning file watcher
|
|
||||||
- [lastfm](#lastfm-section): keys to enable Last.FM scrobbling
|
|
||||||
- [transcoding](#transcoding-section): defines transcoding programs
|
|
||||||
- [mimetypes](#mimetypes-section): some file extension to mimetype mappings
|
|
||||||
|
|
||||||
## `[base]` section
|
|
||||||
|
|
||||||
`database_uri`: the most important configuration, defines the type and
|
|
||||||
parameters of the database _Supysonic_ should connect to. It usually includes
|
|
||||||
username, password, hostname and database name. The typical form of a database
|
|
||||||
URI is:
|
|
||||||
|
|
||||||
driver://username:password@host:port/database
|
|
||||||
|
|
||||||
If the connection needs some additional parameters, they can be provided as a
|
|
||||||
query string, such as:
|
|
||||||
|
|
||||||
driver://username:password@host:port/database?param1=value1¶m2=value2
|
|
||||||
|
|
||||||
Supported drivers are `sqlite`, `mysql` and `postgres` (or `postgresql`).
|
|
||||||
|
|
||||||
As SQLite connects to local files, the format is slightly different. The "file"
|
|
||||||
portion of the URI is the filename of the database. For a relative path, it
|
|
||||||
requires three slashes, for absolute paths it's also three slashes followed by
|
|
||||||
the absolute path, meaning actually four slashes on Unix systems.
|
|
||||||
|
|
||||||
```ini
|
|
||||||
; Relative path
|
|
||||||
database_uri = sqlite:///relative-file.db
|
|
||||||
; Absolute path on Unix-based systems
|
|
||||||
database_uri = sqlite:////home/user/supysonic.db
|
|
||||||
; Absolute path on Windows
|
|
||||||
database_uri = sqlite:///C:\Users\user\supysonic.db
|
|
||||||
```
|
|
||||||
|
|
||||||
A MySQL-compatible database requires either `MySQLdb` or `pymysql` to be
|
|
||||||
installed. PostgreSQL needs `psycopg2`.
|
|
||||||
Note that for MySQL if no character set is defined on the URI it defaults to
|
|
||||||
`utf8mb4` regardless of what's set on your MySQL installation.
|
|
||||||
|
|
||||||
If `database_uri` isn't provided, it defaults to a SQLite database stored in
|
|
||||||
`/tmp/supysonic/supysonic.db`.
|
|
||||||
|
|
||||||
`scanner_extensions`: A space separated list of file extensions the scanner is
|
|
||||||
restricted to. Useful if you have multiple audio formats in your library but
|
|
||||||
only want to serve some. If left empty, the scanner will try to read every file
|
|
||||||
it finds.
|
|
||||||
|
|
||||||
`follow_symlinks`: if set to `yes`, allows the scanner to follow symbolic links.
|
|
||||||
Disabled by default, enable it only if you trust your file system as nothing is
|
|
||||||
done to handle broken links or loops.
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[base]
|
|
||||||
; A database URI. See the 'schema' folder for schema creation scripts
|
|
||||||
; Default: sqlite:////tmp/supysonic/supysonic.db
|
|
||||||
database_uri = sqlite:////var/supysonic/supysonic.db
|
|
||||||
;database_uri = mysql://supysonic:supysonic@localhost/supysonic
|
|
||||||
;database_uri = postgres://supysonic:supysonic@localhost/supysonic
|
|
||||||
|
|
||||||
; Optional, restrict scanner to these extensions. Default: none
|
|
||||||
scanner_extensions = mp3 ogg
|
|
||||||
|
|
||||||
; Should the scanner follow symbolic links? Default: no
|
|
||||||
follow_symlinks = no
|
|
||||||
```
|
|
||||||
|
|
||||||
## `[webapp]` section
|
|
||||||
|
|
||||||
`cache_dir`: directory used to store generated files, such as resized cover
|
|
||||||
art or transcoded files. Defaults to `/tmp/supysonic`.
|
|
||||||
|
|
||||||
`cache_size`: maximum size (in megabytes) of the cache (except for trancodes).
|
|
||||||
Defaults to 512 MB
|
|
||||||
|
|
||||||
`transcode_cache_size`: maximum size (in megabytes) of the transcode cache.
|
|
||||||
Defaults to 1024 MB (1 GB)
|
|
||||||
|
|
||||||
`log_file`: rotating file where some events generated by the web server are
|
|
||||||
logged. Leave empty to disable logging.
|
|
||||||
|
|
||||||
`log_level`: defines the minimum severity threshold of messages to be added to
|
|
||||||
`log_file`. Possible values are: `DEBUG`, `INFO`, `WARNING`, `ERROR` and
|
|
||||||
`CRITICAL`. Defaults to `WARNING`.
|
|
||||||
|
|
||||||
`mount_api`: [`on`/`off`] enable or disable the Subsonic REST API. Should be
|
|
||||||
kept on or _Supysonic_ would be quite useless. Exists mostly for testing
|
|
||||||
purposes. Defaults to `on`.
|
|
||||||
|
|
||||||
`mount_webui`: [`on`/`off`] enable or disable the administrative web interface.
|
|
||||||
Note that setting this off will prevent users from defining a preferred
|
|
||||||
transcoding format. Defaults to `on`.
|
|
||||||
|
|
||||||
`index_ignored_prefixes`: space separated list of prefixes that should be
|
|
||||||
ignored from artist names when returning their index. Example: if the word _The_
|
|
||||||
is in this list, artist _The Rolling Stones_ will be listed under the letter _R_.
|
|
||||||
The match is case insensitive.
|
|
||||||
Defaults to `El La Le Las Les Los The`.
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[webapp]
|
|
||||||
; Optional cache directory. Default: /tmp/supysonic
|
|
||||||
cache_dir = /var/supysonic/cache
|
|
||||||
|
|
||||||
; Main cache max size in MB. Default: 512
|
|
||||||
cache_size = 512
|
|
||||||
|
|
||||||
; Transcode cache max size in MB. Default: 1024 (1GB)
|
|
||||||
transcode_cache_size = 1024
|
|
||||||
|
|
||||||
; Optional rotating log file. Default: none
|
|
||||||
log_file = /var/supysonic/supysonic.log
|
|
||||||
|
|
||||||
; Log level. Possible values: DEBUG, INFO, WARNING, ERROR, CRITICAL.
|
|
||||||
; Default: WARNING
|
|
||||||
log_level = WARNING
|
|
||||||
|
|
||||||
; Enable the Subsonic REST API. You'll most likely want to keep this on.
|
|
||||||
; Here for testing purposes. Default: on
|
|
||||||
;mount_api = on
|
|
||||||
|
|
||||||
; Enable the administrative web interface. Default: on
|
|
||||||
;mount_webui = on
|
|
||||||
|
|
||||||
; Space separated list of prefixes that should be ignored on index endpoints
|
|
||||||
; Default: El La Le Las Les Los The
|
|
||||||
index_ignored_prefixes = El La Le Las Les Los The
|
|
||||||
```
|
|
||||||
|
|
||||||
## `[daemon]` section
|
|
||||||
|
|
||||||
`socket`: Unix domain socket file (or named pipe on Windows) used to communicate
|
|
||||||
between the daemon and clients that rely on it (eg. CLI, folder admin web page,
|
|
||||||
etc.). Note that using an IP address here isn't supported.
|
|
||||||
Default: /tmp/supysonic/supysonic.sock
|
|
||||||
|
|
||||||
`run_watcher`: whether or not to start the watcher that will listen for library
|
|
||||||
changes. Default: yes
|
|
||||||
|
|
||||||
`wait_delay`: delay (in seconds) before triggering the scanning operation after
|
|
||||||
a change have been detected. This prevents running too many scans when multiple
|
|
||||||
changes are detected for a single file over a short time span.
|
|
||||||
Default: 5 seconds.
|
|
||||||
|
|
||||||
`jukebox_command` : command used by the jukebox mode to play a single file.
|
|
||||||
See the [jukebox documentation](jukebox.md) for more details.
|
|
||||||
|
|
||||||
`log_file`: rotating file where events generated by the file watcher are logged.
|
|
||||||
If left empty, any logging will be sent to stderr.
|
|
||||||
|
|
||||||
`log_level`: defines the minimum severity threshold of messages to be added to
|
|
||||||
`log_file`. Possible values are: `DEBUG`, `INFO`, `WARNING`, `ERROR` and
|
|
||||||
`CRITICAL`. Defaults to `WARNING`.
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[daemon]
|
|
||||||
; Socket file the daemon will listen on for incoming management commands
|
|
||||||
; Default: /tmp/supysonic/supysonic.sock
|
|
||||||
socket = /var/run/supysonic.sock
|
|
||||||
|
|
||||||
; Defines if the file watcher should be started. Default: yes
|
|
||||||
run_watcher = yes
|
|
||||||
|
|
||||||
; Delay in seconds before triggering scanning operation after a change have been
|
|
||||||
; detected.
|
|
||||||
; This prevents running too many scans when multiple changes are detected for a
|
|
||||||
; single file over a short time span. Default: 5
|
|
||||||
wait_delay = 5
|
|
||||||
|
|
||||||
; Command used by the jukebox
|
|
||||||
jukebox_command = mplayer -ss %offset %path
|
|
||||||
|
|
||||||
; Optional rotating log file for the scanner daemon. Logs to stderr if empty
|
|
||||||
log_file = /var/supysonic/supysonic-daemon.log
|
|
||||||
log_level = INFO
|
|
||||||
```
|
|
||||||
|
|
||||||
## `[lastfm]` section
|
|
||||||
|
|
||||||
This section allow defining API keys to enable Last.FM integration in
|
|
||||||
_Supysonic_. Currently it is only used to _scrobble_ played tracks and update
|
|
||||||
the _now playing_ information.
|
|
||||||
See https://www.last.fm/api to obtain such keys.
|
|
||||||
Once keys are set, users have to link their account by visiting their profile
|
|
||||||
page on _Supysonic_'s administrative UI.
|
|
||||||
|
|
||||||
`api_key`: Last.FM API key
|
|
||||||
|
|
||||||
`secret`: secret key associated to the API key
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[lastfm]
|
|
||||||
; API and secret key to enable scrobbling. http://www.last.fm/api/accounts
|
|
||||||
; Defaults: none
|
|
||||||
;api_key =
|
|
||||||
;secret =
|
|
||||||
```
|
|
||||||
|
|
||||||
## `[transcoding]` section
|
|
||||||
|
|
||||||
This section defines command-line programs to be used to convert an audio file
|
|
||||||
to another format or change its bitrate. All configurations in the sample below
|
|
||||||
have **not** been thoroughly tested.
|
|
||||||
For more details, please refer to the
|
|
||||||
[transcoding configuration](transcoding.md).
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[transcoding]
|
|
||||||
; Programs used to convert from one format/bitrate to another. Defaults: none
|
|
||||||
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]` section
|
|
||||||
|
|
||||||
Use this section if the system _Supysonic_ is installed on has trouble guessing
|
|
||||||
the mimetype of some files. This might only be useful in some rare cases.
|
|
||||||
|
|
||||||
See the following links for a list of examples:
|
|
||||||
* https://en.wikipedia.org/wiki/Media_type#Common_examples
|
|
||||||
* https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[mimetypes]
|
|
||||||
; Extension to mimetype mappings in case your system has some trouble guessing
|
|
||||||
; Default: none
|
|
||||||
;mp3 = audio/mpeg
|
|
||||||
;ogg = audio/vorbis
|
|
||||||
```
|
|
||||||
|
|
307
docs/configuration.rst
Normal file
307
docs/configuration.rst
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
Configuration
|
||||||
|
=============
|
||||||
|
|
||||||
|
*Supysonic* looks for four files for its configuration: ``/etc/supysonic``,
|
||||||
|
``~/.supysonic``, ``~/.config/supysonic/supysonic.conf`` and ``supysonic.conf``
|
||||||
|
in the current folder, merging values from all files.
|
||||||
|
|
||||||
|
Configuration files must respect a structure similar to Windows INI file, with
|
||||||
|
``[section]`` headers and using a ``KEY = VALUE`` or ``KEY: VALUE`` syntax.
|
||||||
|
|
||||||
|
You'll find a roughly documented configuration sample file at the root of the
|
||||||
|
project, file conveniently named ``config.sample``. More details below.
|
||||||
|
|
||||||
|
``[base]`` section
|
||||||
|
------------------
|
||||||
|
|
||||||
|
This sections defines the database and additional scanning config.
|
||||||
|
|
||||||
|
``database_uri``
|
||||||
|
The most important configuration, defines the type and
|
||||||
|
parameters of the database *Supysonic* should connect to. It usually includes
|
||||||
|
username, password, hostname and database name. The typical form of a
|
||||||
|
database URI is::
|
||||||
|
|
||||||
|
driver://username:password@host:port/database
|
||||||
|
|
||||||
|
If the connection needs some additional parameters, they can be provided as a
|
||||||
|
query string, such as::
|
||||||
|
|
||||||
|
driver://username:password@host:port/database?param1=value1¶m2=value2
|
||||||
|
|
||||||
|
Supported drivers are ``sqlite``, ``mysql`` and ``postgres`` (or
|
||||||
|
``postgresql``).
|
||||||
|
|
||||||
|
As SQLite connects to local files, the format is slightly different. The
|
||||||
|
"file" portion of the URI is the filename of the database. For a relative
|
||||||
|
path, it requires three slashes, for absolute paths it's also three slashes
|
||||||
|
followed by the absolute path, meaning actually four slashes on Unix systems.
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
; Relative path
|
||||||
|
database_uri = sqlite:///relative-file.db
|
||||||
|
; Absolute path on Unix-based systems
|
||||||
|
database_uri = sqlite:////home/user/supysonic.db
|
||||||
|
; Absolute path on Windows
|
||||||
|
database_uri = sqlite:///C:\Users\user\supysonic.db
|
||||||
|
|
||||||
|
A MySQL-compatible database requires either ``MySQLdb`` or ``pymysql`` to be
|
||||||
|
installed. PostgreSQL needs ``psycopg2``.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
For MySQL if no character set is defined on the URI it defaults to
|
||||||
|
``utf8mb4`` regardless of what's set on your MySQL installation.
|
||||||
|
|
||||||
|
If ``database_uri`` isn't provided, it defaults to a SQLite database stored
|
||||||
|
in ``/tmp/supysonic/supysonic.db``.
|
||||||
|
|
||||||
|
``scanner_extensions``
|
||||||
|
A space separated list of file extensions the scanner is restricted to.
|
||||||
|
Useful if you have multiple audio formats in your library but only want to
|
||||||
|
serve some. If left empty, the scanner will try to read every file it finds.
|
||||||
|
|
||||||
|
``follow_symlinks``
|
||||||
|
If set to ``yes``, allows the scanner to follow symbolic links.
|
||||||
|
|
||||||
|
Disabled by default, enable it only if you trust your file system as nothing
|
||||||
|
is done to handle broken links or loops.
|
||||||
|
|
||||||
|
Sample configuration:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[base]
|
||||||
|
; A database URI. See the 'schema' folder for schema creation scripts
|
||||||
|
; Default: sqlite:////tmp/supysonic/supysonic.db
|
||||||
|
database_uri = sqlite:////var/supysonic/supysonic.db
|
||||||
|
;database_uri = mysql://supysonic:supysonic@localhost/supysonic
|
||||||
|
;database_uri = postgres://supysonic:supysonic@localhost/supysonic
|
||||||
|
|
||||||
|
; Optional, restrict scanner to these extensions. Default: none
|
||||||
|
scanner_extensions = mp3 ogg
|
||||||
|
|
||||||
|
; Should the scanner follow symbolic links? Default: no
|
||||||
|
follow_symlinks = no
|
||||||
|
|
||||||
|
``[webapp]`` section
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Configuration relative to the HTTP server.
|
||||||
|
|
||||||
|
``cache_dir``:
|
||||||
|
Directory used to store generated files, such as resized cover art or
|
||||||
|
transcoded files. Defaults to ``/tmp/supysonic``.
|
||||||
|
|
||||||
|
``cache_size``
|
||||||
|
Maximum size (in megabytes) of the cache (except for trancodes).
|
||||||
|
Defaults to 512 MB.
|
||||||
|
|
||||||
|
``transcode_cache_size``
|
||||||
|
Maximum size (in megabytes) of the transcode cache.
|
||||||
|
Defaults to 1024 MB (1 GB).
|
||||||
|
|
||||||
|
``log_file``
|
||||||
|
Rotating file where some events generated by the web server are
|
||||||
|
logged. Leave empty to disable logging.
|
||||||
|
|
||||||
|
``log_level``
|
||||||
|
Defines the minimum severity threshold of messages to be added to
|
||||||
|
``log_file``. Possible values are:
|
||||||
|
|
||||||
|
* ``DEBUG``
|
||||||
|
* ``INFO``
|
||||||
|
* ``WARNING``
|
||||||
|
* ``ERROR``
|
||||||
|
* ``CRITICAL``
|
||||||
|
|
||||||
|
Defaults to ``WARNING``.
|
||||||
|
|
||||||
|
``mount_api`` (``on`` or ``off``)
|
||||||
|
Enable or disable the Subsonic REST API. Should be kept on or *Supysonic*
|
||||||
|
would be quite useless. Exists mostly for testing purposes.
|
||||||
|
Defaults to ``on``.
|
||||||
|
|
||||||
|
``mount_webui`` (``on`` or ``off``)
|
||||||
|
Enable or disable the administrative web interface.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Setting this off will prevent users from defining a preferred transcoding
|
||||||
|
format.
|
||||||
|
|
||||||
|
Defaults to ``on``.
|
||||||
|
|
||||||
|
``index_ignored_prefixes``
|
||||||
|
Space-separated list of prefixes that should be ignored from artist names
|
||||||
|
when returning their index. Example: if the word *The* is in this list,
|
||||||
|
artist *The Rolling Stones* will be listed under the letter *R*. The match is
|
||||||
|
case insensitive.
|
||||||
|
Defaults to ``El La Le Las Les Los The``.
|
||||||
|
|
||||||
|
Sample configuration:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[webapp]
|
||||||
|
; Optional cache directory. Default: /tmp/supysonic
|
||||||
|
cache_dir = /var/supysonic/cache
|
||||||
|
|
||||||
|
; Main cache max size in MB. Default: 512
|
||||||
|
cache_size = 512
|
||||||
|
|
||||||
|
; Transcode cache max size in MB. Default: 1024 (1GB)
|
||||||
|
transcode_cache_size = 1024
|
||||||
|
|
||||||
|
; Optional rotating log file. Default: none
|
||||||
|
log_file = /var/supysonic/supysonic.log
|
||||||
|
|
||||||
|
; Log level. Possible values: DEBUG, INFO, WARNING, ERROR, CRITICAL.
|
||||||
|
; Default: WARNING
|
||||||
|
log_level = WARNING
|
||||||
|
|
||||||
|
; Enable the Subsonic REST API. You'll most likely want to keep this on.
|
||||||
|
; Here for testing purposes. Default: on
|
||||||
|
;mount_api = on
|
||||||
|
|
||||||
|
; Enable the administrative web interface. Default: on
|
||||||
|
;mount_webui = on
|
||||||
|
|
||||||
|
; Space separated list of prefixes that should be ignored on index endpoints
|
||||||
|
; Default: El La Le Las Les Los The
|
||||||
|
index_ignored_prefixes = El La Le Las Les Los The
|
||||||
|
|
||||||
|
``[daemon]`` section
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Configuration for the daemon process that is used to watch for changes in the
|
||||||
|
library folders and providing the jukebox feature.
|
||||||
|
|
||||||
|
``socket``
|
||||||
|
Unix domain socket file (or named pipe on Windows) used to communicate
|
||||||
|
between the daemon and clients that rely on it (eg. CLI, folder admin web
|
||||||
|
page, etc.). Note that using an IP address here isn't supported.
|
||||||
|
Default: /tmp/supysonic/supysonic.sock
|
||||||
|
|
||||||
|
``run_watcher``
|
||||||
|
Whether or not to start the watcher that will listen for library changes.
|
||||||
|
Default: yes
|
||||||
|
|
||||||
|
``wait_delay``
|
||||||
|
Delay (in seconds) before triggering the scanning operation after a change
|
||||||
|
have been detected. This prevents running too many scans when multiple
|
||||||
|
changes are detected for a single file over a short time span.
|
||||||
|
Default: 5 seconds.
|
||||||
|
|
||||||
|
``jukebox_command``
|
||||||
|
Command used by the jukebox mode to play a single file.
|
||||||
|
See the :doc:`jukebox documentation <jukebox>` for more details.
|
||||||
|
|
||||||
|
``log_file``
|
||||||
|
Rotating file where events generated by the file watcher are logged.
|
||||||
|
If left empty, any logging will be sent to stderr.
|
||||||
|
|
||||||
|
``log_level``
|
||||||
|
Defines the minimum severity threshold of messages to be added to
|
||||||
|
``log_file``. Possible values are:
|
||||||
|
|
||||||
|
* ``DEBUG``
|
||||||
|
* ``INFO``
|
||||||
|
* ``WARNING``
|
||||||
|
* ``ERROR``
|
||||||
|
* ``CRITICAL``
|
||||||
|
|
||||||
|
Defaults to ``WARNING``.
|
||||||
|
|
||||||
|
Sample configuration:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[daemon]
|
||||||
|
; Socket file the daemon will listen on for incoming management commands
|
||||||
|
; Default: /tmp/supysonic/supysonic.sock
|
||||||
|
socket = /var/run/supysonic.sock
|
||||||
|
|
||||||
|
; Defines if the file watcher should be started. Default: yes
|
||||||
|
run_watcher = yes
|
||||||
|
|
||||||
|
; Delay in seconds before triggering scanning operation after a change have been
|
||||||
|
; detected.
|
||||||
|
; This prevents running too many scans when multiple changes are detected for a
|
||||||
|
; single file over a short time span. Default: 5
|
||||||
|
wait_delay = 5
|
||||||
|
|
||||||
|
; Command used by the jukebox
|
||||||
|
jukebox_command = mplayer -ss %offset %path
|
||||||
|
|
||||||
|
; Optional rotating log file for the scanner daemon. Logs to stderr if empty
|
||||||
|
log_file = /var/supysonic/supysonic-daemon.log
|
||||||
|
log_level = INFO
|
||||||
|
|
||||||
|
``[lastfm]`` section
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
This section allow defining API keys to enable Last.FM integration in
|
||||||
|
*Supysonic*. Currently it is only used to *scrobble* played tracks and update
|
||||||
|
the *now playing* information.
|
||||||
|
|
||||||
|
See https://www.last.fm/api to obtain such keys.
|
||||||
|
|
||||||
|
Once keys are set, users have to link their account by visiting their profile
|
||||||
|
page on *Supysonic*'s administrative UI.
|
||||||
|
|
||||||
|
``api_key``
|
||||||
|
Last.FM API key
|
||||||
|
|
||||||
|
``secret``
|
||||||
|
secret key associated to the API key
|
||||||
|
|
||||||
|
Sample configuration:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[lastfm]
|
||||||
|
; API and secret key to enable scrobbling. http://www.last.fm/api/accounts
|
||||||
|
; Defaults: none
|
||||||
|
;api_key =
|
||||||
|
;secret =
|
||||||
|
|
||||||
|
``[transcoding]`` section
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
This section defines command-line programs to be used to convert an audio file
|
||||||
|
to another format or change its bitrate. All configurations in the sample below
|
||||||
|
have **not** been thoroughly tested.
|
||||||
|
For more details, please refer to the
|
||||||
|
:doc:`transcoding configuration <transcoding>`.
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[transcoding]
|
||||||
|
; Programs used to convert from one format/bitrate to another. Defaults: none
|
||||||
|
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]`` section
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Use this section if the system *Supysonic* is installed on has trouble guessing
|
||||||
|
the mimetype of some files. This might only be useful in some rare cases.
|
||||||
|
|
||||||
|
See the following links for a list of examples:
|
||||||
|
|
||||||
|
* https://en.wikipedia.org/wiki/Media_type#Common_examples
|
||||||
|
* https://www.iana.org/assignments/media-types/media-types.xhtml
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[mimetypes]
|
||||||
|
; Extension to mimetype mappings in case your system has some trouble guessing
|
||||||
|
; Default: none
|
||||||
|
;mp3 = audio/mpeg
|
||||||
|
;ogg = audio/vorbis
|
Loading…
Reference in New Issue
Block a user