mirror of
https://github.com/spl0k/supysonic.git
synced 2024-11-09 19:52:16 +00:00
Some doc touches
This commit is contained in:
parent
2599f1ae37
commit
6d56b56dd5
10
docs/api.rst
10
docs/api.rst
@ -3,12 +3,14 @@ Subsonic API breakdown
|
|||||||
|
|
||||||
This page lists all the API methods and their parameters up to the version
|
This page lists all the API methods and their parameters up to the version
|
||||||
1.16.0 (Subsonic 6.1.2). Here you'll find details about which API features
|
1.16.0 (Subsonic 6.1.2). Here you'll find details about which API features
|
||||||
*Supysonic* support, plan on supporting, or won't.
|
Supysonic support, plan on supporting, or won't.
|
||||||
|
|
||||||
At the moment, the current target API version is 1.10.2.
|
At the moment, the current target API version is 1.10.2.
|
||||||
|
|
||||||
The following information was gathered by *diff*-ing various snapshots of the
|
The following information was gathered by *diff*-ing various snapshots of the
|
||||||
`Subsonic API page <http://www.subsonic.org/pages/api.jsp>`_.
|
`Subsonic API page`__.
|
||||||
|
|
||||||
|
__ http://www.subsonic.org/pages/api.jsp
|
||||||
|
|
||||||
Methods and parameters listing
|
Methods and parameters listing
|
||||||
------------------------------
|
------------------------------
|
||||||
@ -57,7 +59,7 @@ getSongsByGenre_ 1.9.0 ✔️
|
|||||||
getNowPlaying_ ✔️
|
getNowPlaying_ ✔️
|
||||||
getStarred_ ✔️
|
getStarred_ ✔️
|
||||||
getStarred2_ ✔️
|
getStarred2_ ✔️
|
||||||
search_ ✔️
|
:ref:`search <search->` ✔️
|
||||||
search2_ ✔️
|
search2_ ✔️
|
||||||
search3_ ✔️
|
search3_ ✔️
|
||||||
getPlaylists_ ✔️
|
getPlaylists_ ✔️
|
||||||
@ -449,7 +451,7 @@ Album/song lists
|
|||||||
Searching
|
Searching
|
||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
|
|
||||||
.. _search:
|
.. _search-:
|
||||||
|
|
||||||
``search``
|
``search``
|
||||||
✔️
|
✔️
|
||||||
|
30
docs/index.rst
Normal file
30
docs/index.rst
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Welcome to Supysonic's documentation!
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
Supysonic is a Python implementation of the `Subsonic`__ server API.
|
||||||
|
|
||||||
|
Current supported features are:
|
||||||
|
|
||||||
|
* browsing (by folders or tags)
|
||||||
|
* streaming of various audio file formats
|
||||||
|
* transcoding
|
||||||
|
* user or random playlists
|
||||||
|
* cover arts (as image files in the same folder as music files)
|
||||||
|
* starred tracks/albums and ratings
|
||||||
|
* `Last.FM`__ scrobbling
|
||||||
|
* Jukebox mode
|
||||||
|
|
||||||
|
__ http://www.subsonic.org/
|
||||||
|
__ https://www.last.fm/
|
||||||
|
|
||||||
|
User's guide
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
setup/index
|
||||||
|
transcoding
|
||||||
|
jukebox
|
||||||
|
man/index
|
||||||
|
api
|
@ -21,6 +21,7 @@ following fields:
|
|||||||
|
|
||||||
``%path``
|
``%path``
|
||||||
absolute path of the file to be played
|
absolute path of the file to be played
|
||||||
|
|
||||||
``%offset``
|
``%offset``
|
||||||
time in seconds where to start playing (used for seeking)
|
time in seconds where to start playing (used for seeking)
|
||||||
|
|
||||||
|
20
docs/man/index.rst
Normal file
20
docs/man/index.rst
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Man pages
|
||||||
|
=========
|
||||||
|
|
||||||
|
Command-line interface
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
supysonic-cli
|
||||||
|
supysonic-cli-user
|
||||||
|
supysonic-cli-folder
|
||||||
|
|
||||||
|
Daemon
|
||||||
|
------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
supysonic-daemon
|
@ -45,7 +45,7 @@ Options
|
|||||||
|
|
||||||
-f, --force
|
-f, --force
|
||||||
Force scan of already known files even if they haven't changed. Might be
|
Force scan of already known files even if they haven't changed. Might be
|
||||||
useful if an update to *Supysonic* adds new metadata to audio files.
|
useful if an update to Supysonic adds new metadata to audio files.
|
||||||
|
|
||||||
--background
|
--background
|
||||||
Scan in the background. Requires the ``supysonic-daemon`` to be running
|
Scan in the background. Requires the ``supysonic-daemon`` to be running
|
||||||
|
@ -82,4 +82,4 @@ To add a new admin user named `MyUserName` having password `MyAwesomePassword`::
|
|||||||
See Also
|
See Also
|
||||||
========
|
========
|
||||||
|
|
||||||
supysonic-cli(1), supysonic-cli-folder(1)
|
``supysonic-cli``\ (1), ``supysonic-cli-folder``\ (1)
|
||||||
|
@ -13,7 +13,7 @@ If you cloned Supysonic from its `GitHub repository`__ you'll find a roughly
|
|||||||
documented configuration sample file at the root of the project, file
|
documented configuration sample file at the root of the project, file
|
||||||
conveniently named :file:`config.sample`. More details below.
|
conveniently named :file:`config.sample`. More details below.
|
||||||
|
|
||||||
__ http://github.com/spl0k/supysonic
|
__ https://github.com/spl0k/supysonic
|
||||||
|
|
||||||
``[base]`` section
|
``[base]`` section
|
||||||
------------------
|
------------------
|
||||||
@ -22,7 +22,7 @@ This sections defines the database and additional scanning config.
|
|||||||
|
|
||||||
``database_uri``
|
``database_uri``
|
||||||
The most important configuration, defines the type and
|
The most important configuration, defines the type and
|
||||||
parameters of the database *Supysonic* should connect to. It usually includes
|
parameters of the database Supysonic should connect to. It usually includes
|
||||||
username, password, hostname and database name. The typical form of a
|
username, password, hostname and database name. The typical form of a
|
||||||
database URI is::
|
database URI is::
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ This sections defines the database and additional scanning config.
|
|||||||
``utf8mb4`` regardless of what's set on your MySQL installation.
|
``utf8mb4`` regardless of what's set on your MySQL installation.
|
||||||
|
|
||||||
If ``database_uri`` isn't provided, it defaults to a SQLite database stored
|
If ``database_uri`` isn't provided, it defaults to a SQLite database stored
|
||||||
in ``/tmp/supysonic/supysonic.db``.
|
in :file:`/tmp/supysonic/supysonic.db`.
|
||||||
|
|
||||||
``scanner_extensions``
|
``scanner_extensions``
|
||||||
A space separated list of file extensions the scanner is restricted to.
|
A space separated list of file extensions the scanner is restricted to.
|
||||||
@ -77,8 +77,7 @@ Sample configuration:
|
|||||||
.. code-block:: ini
|
.. code-block:: ini
|
||||||
|
|
||||||
[base]
|
[base]
|
||||||
; A database URI. See the 'schema' folder for schema creation scripts
|
; A database URI. Default: sqlite:////tmp/supysonic/supysonic.db
|
||||||
; Default: sqlite:////tmp/supysonic/supysonic.db
|
|
||||||
database_uri = sqlite:////var/supysonic/supysonic.db
|
database_uri = sqlite:////var/supysonic/supysonic.db
|
||||||
;database_uri = mysql://supysonic:supysonic@localhost/supysonic
|
;database_uri = mysql://supysonic:supysonic@localhost/supysonic
|
||||||
;database_uri = postgres://supysonic:supysonic@localhost/supysonic
|
;database_uri = postgres://supysonic:supysonic@localhost/supysonic
|
||||||
@ -96,7 +95,7 @@ Configuration relative to the HTTP server.
|
|||||||
|
|
||||||
``cache_dir``
|
``cache_dir``
|
||||||
Directory used to store generated files, such as resized cover art or
|
Directory used to store generated files, such as resized cover art or
|
||||||
transcoded files. Defaults to ``/tmp/supysonic``.
|
transcoded files. Defaults to :file:`/tmp/supysonic`.
|
||||||
|
|
||||||
``cache_size``
|
``cache_size``
|
||||||
Maximum size (in megabytes) of the cache (except for trancodes).
|
Maximum size (in megabytes) of the cache (except for trancodes).
|
||||||
@ -123,8 +122,8 @@ Configuration relative to the HTTP server.
|
|||||||
Defaults to ``WARNING``.
|
Defaults to ``WARNING``.
|
||||||
|
|
||||||
``mount_api`` (``on`` or ``off``)
|
``mount_api`` (``on`` or ``off``)
|
||||||
Enable or disable the Subsonic REST API. Should be kept on or *Supysonic*
|
Enable or disable the Subsonic REST API. Should be kept on or Supysonic would
|
||||||
would be quite useless. Exists mostly for testing purposes.
|
be quite useless. Exists mostly for testing purposes.
|
||||||
Defaults to ``on``.
|
Defaults to ``on``.
|
||||||
|
|
||||||
``mount_webui`` (``on`` or ``off``)
|
``mount_webui`` (``on`` or ``off``)
|
||||||
@ -187,7 +186,7 @@ library folders and providing the jukebox feature.
|
|||||||
Unix domain socket file (or named pipe on Windows) used to communicate
|
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
|
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.
|
page, etc.). Note that using an IP address here isn't supported.
|
||||||
Default: /tmp/supysonic/supysonic.sock
|
Default: :file:`/tmp/supysonic/supysonic.sock`
|
||||||
|
|
||||||
``run_watcher``
|
``run_watcher``
|
||||||
Whether or not to start the watcher that will listen for library changes.
|
Whether or not to start the watcher that will listen for library changes.
|
||||||
@ -248,13 +247,13 @@ Sample configuration:
|
|||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
This section allow defining API keys to enable Last.FM integration in
|
This section allow defining API keys to enable Last.FM integration in
|
||||||
*Supysonic*. Currently it is only used to *scrobble* played tracks and update
|
Supysonic. Currently it is only used to *scrobble* played tracks and update
|
||||||
the *now playing* information.
|
the *now playing* information.
|
||||||
|
|
||||||
See https://www.last.fm/api to obtain such keys.
|
See https://www.last.fm/api to obtain such keys.
|
||||||
|
|
||||||
Once keys are set, users have to link their account by visiting their profile
|
Once keys are set, users have to link their account by visiting their profile
|
||||||
page on *Supysonic*'s administrative UI.
|
page on Supysonic's administrative UI.
|
||||||
|
|
||||||
``api_key``
|
``api_key``
|
||||||
Last.FM API key
|
Last.FM API key
|
||||||
@ -298,7 +297,7 @@ For more details, please refer to the
|
|||||||
``[mimetypes]`` section
|
``[mimetypes]`` section
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
Use this section if the system *Supysonic* is installed on has trouble guessing
|
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.
|
the mimetype of some files. This might only be useful in some rare cases.
|
||||||
|
|
||||||
See the following links for a list of examples:
|
See the following links for a list of examples:
|
||||||
|
@ -4,6 +4,25 @@ Supysonic setup
|
|||||||
This guide details the required steps to get a Supysonic instance ready to
|
This guide details the required steps to get a Supysonic instance ready to
|
||||||
start serving your music.
|
start serving your music.
|
||||||
|
|
||||||
|
TL;DR
|
||||||
|
-----
|
||||||
|
|
||||||
|
For the impatient, here's a quick summary to get Supysonic installed and ready
|
||||||
|
to start serving (but this doesn't create any user nor specifies where your
|
||||||
|
music is located 😏). This uses `gunicorn`__, but there are
|
||||||
|
:doc:`other options <deploying/index>`.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
pip install git+https://github.com/spl0k/supysonic.git
|
||||||
|
pip install gunicorn
|
||||||
|
gunicorn -b 0.0.0.0:5000 "supysonic.web:create_application()"
|
||||||
|
|
||||||
|
__ https://gunicorn.org/
|
||||||
|
|
||||||
|
Table of contents
|
||||||
|
-----------------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
@ -12,3 +31,16 @@ start serving your music.
|
|||||||
configuration
|
configuration
|
||||||
deploying/index
|
deploying/index
|
||||||
daemon
|
daemon
|
||||||
|
|
||||||
|
.. _docker:
|
||||||
|
|
||||||
|
Docker
|
||||||
|
------
|
||||||
|
|
||||||
|
Another solution rather than going through the whole setup process yourself is
|
||||||
|
to use a ready-to-use Docker image. While we don't provide images for Supysonic,
|
||||||
|
that didn't keep the community from creating some. Take a look on the
|
||||||
|
`Docker Hub`__ and pick one you like. For more details on their usage, please
|
||||||
|
refer to the readme of said images.
|
||||||
|
|
||||||
|
__ https://hub.docker.com/search?q=supysonic&type=image
|
||||||
|
@ -32,8 +32,8 @@ corresponding Python package, ``python-pymysql`` for MySQL or
|
|||||||
|
|
||||||
$ apt install python-psycopg2
|
$ apt install python-psycopg2
|
||||||
|
|
||||||
For other distributions, you might consider installing from `docker`_ images or
|
For other distributions, you might consider installing from :ref:`docker` images
|
||||||
from `source`_.
|
or from `source`_.
|
||||||
|
|
||||||
Windows
|
Windows
|
||||||
-------
|
-------
|
||||||
@ -60,34 +60,19 @@ to the `source installation instructions <source_>`_ below for more information.
|
|||||||
__ https://docs.python-guide.org/
|
__ https://docs.python-guide.org/
|
||||||
__ https://docs.python-guide.org/starting/install3/win/
|
__ https://docs.python-guide.org/starting/install3/win/
|
||||||
|
|
||||||
.. _docker:
|
|
||||||
|
|
||||||
Docker
|
|
||||||
------
|
|
||||||
|
|
||||||
While we don't provide Docker images for Supysonic, that didn't keep the
|
|
||||||
community from creating some. Take a look on the `Docker Hub`__ and pick one you
|
|
||||||
like. For more details on their usage, please refer to the readme of said
|
|
||||||
images.
|
|
||||||
|
|
||||||
__ https://hub.docker.com/search?q=supysonic&type=image
|
|
||||||
|
|
||||||
.. _source:
|
.. _source:
|
||||||
|
|
||||||
Source
|
Source
|
||||||
------
|
------
|
||||||
|
|
||||||
You can install Supysonic directly from a clone of the `Git repository`__. This
|
You can install Supysonic directly from a clone of the `Git repository`__. This
|
||||||
can be done either by cloning the repo and installing from the local clone, or
|
can be done either by cloning the repo and installing from the local clone::
|
||||||
simply installing directly via :command:`pip`.
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git clone https://github.com/spl0k/supysonic.git
|
$ git clone https://github.com/spl0k/supysonic.git
|
||||||
$ cd supysonic
|
$ cd supysonic
|
||||||
$ pip install .
|
$ pip install .
|
||||||
|
|
||||||
::
|
or simply installing directly via :command:`pip`::
|
||||||
|
|
||||||
$ pip install git+https://github.com/spl0k/supysonic.git
|
$ pip install git+https://github.com/spl0k/supysonic.git
|
||||||
|
|
||||||
|
@ -6,12 +6,12 @@ allows for streaming of formats that wouldn't be streamable otherwise, or
|
|||||||
reducing the quality of an audio file to allow a decent streaming for clients
|
reducing the quality of an audio file to allow a decent streaming for clients
|
||||||
with limited bandwidth, such as the ones running on a mobile connection.
|
with limited bandwidth, such as the ones running on a mobile connection.
|
||||||
|
|
||||||
Transcoding in *Supysonic* is achieved through the use of third-party
|
Transcoding in Supysonic is achieved through the use of third-party command-line
|
||||||
command-line programs. *Supysonic* isn't bundled with such programs, and you are
|
programs. Supysonic isn't bundled with such programs, and you are left to choose
|
||||||
left to choose which one you want to use.
|
which one you want to use.
|
||||||
|
|
||||||
If you want to use transcoding but your client doesn't allow you to do so, you
|
If you want to use transcoding but your client doesn't allow you to do so, you
|
||||||
can force *Supysonic* to transcode for that client by going to your profile page
|
can force Supysonic to transcode for that client by going to your profile page
|
||||||
on the web interface.
|
on the web interface.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@ -45,7 +45,7 @@ versions. The programs defined with these variables should be able to
|
|||||||
transcode/decode/encode any format. For that reason, we suggest you don't use
|
transcode/decode/encode any format. For that reason, we suggest you don't use
|
||||||
these if you want to keep control over the available transcoders.
|
these if you want to keep control over the available transcoders.
|
||||||
|
|
||||||
*Supysonic* will take the first available transcoding configuration in the
|
Supysonic will take the first available transcoding configuration in the
|
||||||
following order:
|
following order:
|
||||||
|
|
||||||
#. specific transcoder
|
#. specific transcoder
|
||||||
@ -59,26 +59,37 @@ program. The command-lines can include the following fields:
|
|||||||
|
|
||||||
``%srcpath``
|
``%srcpath``
|
||||||
path to the original file to transcode
|
path to the original file to transcode
|
||||||
|
|
||||||
``%srcfmt``
|
``%srcfmt``
|
||||||
extension of the original file
|
extension of the original file
|
||||||
|
|
||||||
``%outfmt``
|
``%outfmt``
|
||||||
extension of the resulting file
|
extension of the resulting file
|
||||||
|
|
||||||
``%outrate``
|
``%outrate``
|
||||||
bitrate of the resulting file
|
bitrate of the resulting file
|
||||||
|
|
||||||
``%title``
|
``%title``
|
||||||
title of the file to transcode
|
title of the file to transcode
|
||||||
|
|
||||||
``%album``
|
``%album``
|
||||||
album name of the file to transcode
|
album name of the file to transcode
|
||||||
|
|
||||||
``%artist``
|
``%artist``
|
||||||
artist name of the file to transcode
|
artist name of the file to transcode
|
||||||
|
|
||||||
``%tracknumber``
|
``%tracknumber``
|
||||||
track number of the file to transcode
|
track number of the file to transcode
|
||||||
|
|
||||||
``%totaltracks``
|
``%totaltracks``
|
||||||
number of tracks in the album of the file to transcode
|
number of tracks in the album of the file to transcode
|
||||||
|
|
||||||
``%discnumber``
|
``%discnumber``
|
||||||
disc number of the file to transcode
|
disc number of the file to transcode
|
||||||
|
|
||||||
``%genre``
|
``%genre``
|
||||||
genre of the file to transcode (not always available, defaults to "")
|
genre of the file to transcode (not always available, defaults to "")
|
||||||
|
|
||||||
``%year``
|
``%year``
|
||||||
year of the file to transcode (not always available, defaults to "")
|
year of the file to transcode (not always available, defaults to "")
|
||||||
|
|
||||||
@ -126,14 +137,14 @@ Enabling transcoding
|
|||||||
|
|
||||||
Once the transcoding configuration has been set, most clients will require the
|
Once the transcoding configuration has been set, most clients will require the
|
||||||
user to specify that they want to transcode files. This might be done on the
|
user to specify that they want to transcode files. This might be done on the
|
||||||
client itself, but most importantly it should be done on *Supysonic* web
|
client itself, but most importantly it should be done on Supysonic web
|
||||||
interface. Not doing so might prevent some clients to properly request
|
interface. Not doing so might prevent some clients to properly request
|
||||||
transcoding.
|
transcoding.
|
||||||
|
|
||||||
To enable transcoding with the web interface, you should first start using the
|
To enable transcoding with the web interface, you should first start using the
|
||||||
client you want to set transcoding for. Only browsing the library should
|
client you want to set transcoding for. Only browsing the library should
|
||||||
suffice. Then open your browser of choice and navigate to the URL of your
|
suffice. Then open your browser of choice and navigate to the URL of your
|
||||||
*Supysonic* instance. Log in with your credentials and the click on your
|
Supysonic instance. Log in with your credentials and the click on your username
|
||||||
username in the top bar. There you should be presented with a list of clients
|
in the top bar. There you should be presented with a list of clients you used to
|
||||||
you used to connect to *Supysonic* and be able to set you preferred streaming
|
connect to Supysonic and be able to set your preferred streaming format
|
||||||
format and bitrate.
|
and bitrate.
|
||||||
|
Loading…
Reference in New Issue
Block a user