Supysonic is a Python implementation of the Subsonic server API.


  1. Connect to your slot through SSH

  2. Create a virtualenv with the instructions found here or use an existing one.

  3. With your virtualenv activated, install the Python modules supysonic requires

    pip install flask pillow storm simplejson requests mutagen watchdog uwsgi
  4. Download and install the latest supysonic release

    git clone
    cd supysonic
    python install
  5. Add ~/supysonic/bin to your shell's PATH.

    echo "PATH=\$PATH:\$HOME/supysonic/bin" >> ~/.bashrc && source ~/.bashrc
  6. Create some required directories: mkdir -p ~/.config/supysonic ~/.config/supysonic/webcache

  7. Create the ~/.supysonic file with the following contents. You can use nano ~/.supysonic to edit the file.

    database_uri = sqlite:////home/user/.config/supysonic/library.db
    cache-dir = /home/user/.config/supysonic/webcache
    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 -
  8. Run sqlite3 ~/.config/supysonic/library.db then run the following commands on the sqlite prompt to import the database scheme:

     .read /home/user/supysonic/schema/sqlite.sql
  9. Run supysonic-cli then run the following commands to configure supysonic for use. Make sure to replace password with the password you would like to use.

     user add user -p password -a
     folder add files /home/user/files
  10. Start supysonic. Port 56317 has been automatically generated for you, but you may use another 5 digit port between 10000 and 65535.

    screen -dmS supysonic ~/virtualenv/bin/uwsgi --http --wsgi-file ~/supysonic/cgi-bin/supysonic.wsgi
  11. Rescan your library by browsing to

  12. (Optional) Add supysonic to cron

    The follow line can be added to your crontab to make sure supysonic launches automatically on a server restart:

    @reboot . /home/user/virtualenv/bin/activate && screen /home/user/virtualenv/bin/python /home/user/virtualenv/bin/uwsgi --http --wsgi-file /home/user/supysonic/cgi-bin/supysonic.wsgi

Adding additional folders

  1. Connect to your seedbox through SSH

  2. Activate your virtualenv with the instructions found here.

  3. Run supysonic-cli to configure supysonic with extra folders:

    folder add files /home/user/files
  4. Rescan your library

    Visit to refresh your library.

Web Interface

You may use the web interface by going to