Skip to content

Alpine Docker image of the Supysonic - Lightweight Python API, to quickly get you up and running

License

Notifications You must be signed in to change notification settings

ultimate-pms/docker-supysonic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Supysonic docker

This is a lightweight Python implementation of the Subsonic project's API - It's perfect if you want to just run a Subsonic compatible API for your streaming media server, and use an external client (such as Tomahawk Player or DSub for Android) to connect to your media library.

Docker image(s) have been modified from ogarcia's original images for use with the Ultimate Media Server Project.

If you're after the original supysonic project without Docker, please see: https://github.com/spl0k/supysonic


Configuring:

Configuration is officially done via the ./config/.supysonic file, however for ease of running the container quickly, you can set the following environment variables in your docker-compose.yml file, which are side-loaded in when the container starts:

Variable Default value if unset
SUPYSONIC_DB_URI sqlite:////var/lib/supysonic/supysonic.db
SUPYSONIC_SCANNER_EXTENSIONS
SUPYSONIC_SECRET_KEY
SUPYSONIC_WEBAPP_CACHE_DIR /var/lib/supysonic/cache
SUPYSONIC_WEBAPP_LOG_FILE /var/lib/supysonic/supysonic.log
SUPYSONIC_WEBAPP_LOG_LEVEL WARNING
SUPYSONIC_DAEMON_LOG_FILE /var/lib/supysonic/supysonic-daemon.log
SUPYSONIC_DAEMON_LOG_LEVEL INFO
SUPYSONIC_LASTFM_API_KEY
SUPYSONIC_LASTFM_SECRET
SUPYSONIC_RUN_MODE standalone

Last.fm

To get up and running quickly, you'll really only need to configure Last.fm

Remember that:

  • The paths are related to INSIDE Docker.
  • Other parts of Supysonic config file that not are referred here (as transcoding or mimetypes) will be untouched, you can configure it by hand.
  • For performance you will want to setup a FastCGI server, rather than using the default embedded server.
  • The dockerconfig.py script that configures Supysonic uses Docker environment variables which can be configured in your docker-compose.yml file (please refer to the Supysonic Readme for further details on each variable and it's options)

Running:

The quickest way to get up and running is by using docker-compose:

# vi docker-compose.yml
docker-compose up -d --build

The container can also be run using a FastCGI socket, however you will need to change (or add) the SUPYSONIC_RUN_MODE variable to be: fcgi, and you will need to map that socket to your parent host (or another container) if you wish to access it from other services...

Accessing:

By default, Supysonic will be started with the default configuration in the database with the following login details:

  • Username: admin
  • Password: password

BE SURE TO CHANGE THE DEFAULT PASSWORD!

You may access the login page via your favourite browser (providing you have not changed the port mapping in the docker-compose file) by going to: http://<your-hosts-ip>:8888/

Running additional CLI shell tools:

If you need to enter in a shell to use supysonic-cli first run attach to the running daemon, and then you may run the CLI tools.

docker exec -it subsonic bash

Additional comments:

By default, the container will include all the external transcoders to support most common media formats such as mp3, oog, flac etc... However if you wish to encode your music in oog format you will need to manually install oggenc2 in your container's /bin/ directory - which can be found here.

About

Alpine Docker image of the Supysonic - Lightweight Python API, to quickly get you up and running

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 36.8%
  • Python 34.8%
  • Dockerfile 28.4%