Install Subsonic Media Server on Ubuntu or Debian to Stream Music Through Your Linode
Updated by Linode Written by Alex Fornuto
What is Subsonic?
Subsonic is an easy-to-use media streaming service with a user-friendly interface and the ability to share music and video with multiple users. It is highly customizable and includes features such as Chromecast support and file conversion.
This guide shows how to set up Subsonic on a Linode running Debian or Ubuntu. If you have a large music library, consider attaching a Block Storage Volume to your Linode to store your music files.
You will need Java installed on your system to run Subsonic.
The steps in this section will install the Java 8 JDK on Ubuntu 16.04. For other distributions, see the official docs.
software-properties-commonto easily add new repositories:
sudo apt-get install software-properties-common
Add the Java PPA:
sudo add-apt-repository ppa:webupd8team/java
Update the source list:
sudo apt-get update
Install the Java JDK 8:
sudo apt-get install oracle-java8-installer
The latest version of Subsonic (as of publication) is 6.1.3, and the most recent release can always be found on their download page. Download and install Subsonic onto your Linode:
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.3.deb sudo dpkg -i subsonic-6.1.3.deb
Subsonic runs as the root user by default, which is insecure. Create a new system user for subsonic to run as:
sudo useradd --system subsonic sudo gpasswd --add subsonic audio
/etc/default/subsonicin a text editor. In this file you can change the user, the port Subsonic listens on, increase the amount of memory it can use, and encrypt your streaming traffic with SSL. Change the
SUBSONIC_USERvariable to the new
1 2 3 4 5 6 7 8 9 10 11 12
# Type "subsonic --help" on the command line to read an # explanation of the different options. # # For example, to specify that Subsonic should use port 80 (for http) # and 443 (for https), and use a Java memory heap size of 200 MB, use # the following: # # SUBSONIC_ARGS="--port=80 --https-port=443 --max-memory=200" SUBSONIC_ARGS="--max-memory=150" SUBSONIC_USER=subsonic
NoteIf you have a firewall set up, allow connections from the port Subsonic is listening on.
sudo systemctl restart subsonic
Configuration and Use
By default, Subsonic looks for music files stored in
/var/music. Create this directory and change its ownership to the
subsonicuser. You can substitute another directory if you would prefer to store your music elsewhere.
sudo mkdir /var/music sudo chown subsonic:subsonic /var/music
Open Subsonic in your browser by navigating to port 4040 on your Linode’s public IP address or domain name.
The first time you access your Subsonic server in your browser, you will see the following:
Use the default username and password (admin/admin) or the provided link to log in:
Create a password for your admin account. You can also set up any other accounts at this time.
NotePasswords in the Subsonic database are stored in hex format, but not encrypted.
Click on the Media folders link and point Subsonic to where you will store your music. If you used the default directory (
/var/music) above, you can skip this step. Once you’ve pointed Subsonic to the correct directory and uploaded your music, you can press Scan media folders now. Subsonic will then create a database of music files.
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
Join our Community
This guide is published under a CC BY-ND 4.0 license.