RIP Subsonic, Hello Libresonic

Published by Tobias Hofmann on

3 min read

Some while ago I posted a blog detailing how to install Subsonic on a Raspberry Pi 1. If you google for “subsonic raspberry pi” my blog shows up as a top search result (normally 3rd place, but even second is possible). In addition, each day I get more than one access from somewhere in the world to that blog. There is definitely interest in running Subsonic on a RP.

Subsonic now closed source

Since the last time some things have changed. I updated to a RP2 and Subsonic was updated up to 5.3. I won`t update to version 6 and beyond. The developer of Subsonic changed the license of 6.x and made it closed source. Not a big problem for you as an end user. You can still download and install Subsonic 6 as a binary without problems. The license change however makes it unclear what the future of Subsonic will be. Is it going to be premium only, forcing you to buy a license? Currently the premium features are of no interest to me. Although not having Ads in the UI would be nice. Either way, I do not want to change software (got used to it), and staying in 5.3 for the rest of my life isn`t an option too (yes, I DO update).

Moving to Libresonic

Good news: one person is offering his own fork of Subsonic since a while: Eugene E. Kashpureff Jr. Started originally to take away the license check feature of Subsonic, he started a new project based on Subsonic 5.3: Libresonic. Available on Github, the source code is freely available and continues to offer the functionality of Subsonic. Community already started to give feedback on this new software. The name is no surprise, considering LibreOffice, Libreelec and now Libresonic.

Installation

No surprises here. It`s the same procedure as with 5.x. Ensure you have the pre-requisites installed like maven, Java, Debian tools.

git clone https://github.com/Libresonic/libresonic.git
cd libresonic/
mvn package
mvn -P full -pl libresonic-booter -am install
mvn -P full -pl libresonic-installer-debian/ -am install
sudo dpkg -i ./libresonic-installer-debian/target/libresonic-*.deb

Configuration

The name of the project changed to Libresonic, and so did the location of the configuration files and executables. The conf file is now located at: /etc/default/libresonic. The name of the parameters changed too, while the values are the same. So copy over the values of the old Subsonic conf file.

LIBRESONIC_ARGS="--max-memory=150 --port=8080 --context-path=/libresonic"
LIBRESONIC_USER=libresonic

To start Libresonic, it`s now /etc/init.d/libresonic and the program files are at /var/libresonic. After you have done this, you can access Libresonic again via web interface.

Uninstall Subsonic

I upgraded to EugeneKay fork some time ago when it was still Subsonic without license check. Therefore, I installed it using dpkg. The package is still installed and it won`t work nicely together with Libresonic because of sharing the same configuration (port, etc.). To uninstall your officially downloaded Subsonic DEB file, just follow the same steps.

dpkg –l subsonic

To uninstall that package:

sudo dpkg –r subsonic

This removes the package, but leaves the config files (can be seen when running dpkg –l subsonic again):

To remove also the config files:

sudo dpkg –P subsonic

The directory /var/subsonic containing some files wasn`t removed, you`ll have to do this manually.

Let the world know
Categories: Technology

Tobias Hofmann

Doing stuff with SAP since 1998. Open, web, UX, cloud. I am not a Basis guy, but very knowledgeable about Basis stuff, as it's the foundation of everything I do (DevOps). Performance is king, and unit tests is something I actually do. Developing HTML5 apps when HTML5 wasn't around. HCP/SCP user since 2012, NetWeaver since 2002, ABAP since 1998.

8 Comments

Anorak · June 17, 2016 at 09:20

Nice instruction set, thank you.
Have you had any experience trying to deploy libresonic directly into Tomcat, rather than building from source?

Tobias Hofmann · July 4, 2016 at 14:32

The current installation documentation from Libresonic mentions solely the WAR on tomcat deploy option. I think that should help you. Basically, the difference should only that with the libresonic DEB package you get a wrapper for starting and stopping the application as a service.

https://github.com/Libresonic/libresonic/blob/develop/INSTALL.md

N. Rojas · August 6, 2016 at 14:10

Im trying to install in manjaro, is it the same instructions?

    Tobias Hofmann · August 12, 2016 at 17:31

    As long as Manjaro isn’t too far away from Debian, it should work. Also take a look into the documentation on how to install Libersonic on the GitHub site.

Mark Routledge · May 7, 2017 at 20:33

Trying to follow your excellent tutorial,

I managed to get as far as running
mvn -P full -pl libresonic-booter -am install
mvn -P full -pl libresonic-installer-debian/ -am install

But it just says it can’t find them, the mvn package command ran without error.

[INFO] Scanning for projects…
[ERROR] Could not find the selected project in the reactor: libresonic-booter -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException

Any suggestions / tips?

    Tobias Hofmann · May 19, 2017 at 13:54

    Hi Mark,

    have you followed the latest installation instructions on the Libresonic GitHub site? I am not sure if the debian installer is still fully working. Now the app is compiled for Tomcat, that should make your life easier.

SuperJames · May 11, 2017 at 15:15

I think you should edit this article, as it all seems too much focused on Linux, it may mislead people into thinking it’s Linux only, which it isn’t. Libresonic also works on Windows too, and really well. You don’t need to use TomCat as Eugene now uses Springboot. All you need to do is download the WAR file, and create a BAT file with this line in it:

java -jar libresonic.war

And as long as you have Java installed, it will run perfectly. Open your web browser and navigate to either:
http://127.0.0.1:8080
http://localhost:8080
http://MACHINENAME:8080 replacing MACHINENAME with whatever your computer’s hostname is. Mine’s Lucy, so I navigate to http://lucy:8080
It is such a perfect system. Once Eugene adds the HTML5 player from Subsonic, and adds the custom domain feature (not the Subsonic subdomain part, but the one where you could use your own full domain) it will be 100% perfect! On Windows you have a command window open constantly, but I like it as it actually provides debug info, so as a programmer, I can fix any bugs it throws up, one of which for me at the moment is APE support.

    Tobias Hofmann · May 14, 2017 at 23:05

    You should take into consideration when this article was written. In May 2016, there was no WAR to download, installation information was still available for basically Tomcat or Debian. When I write a new article about new version of Subsonic, this is going to be included. But this article won`t be updated, see it as a documentation of how it was one year ago.

Leave a Reply to Tobias Hofmann Cancel reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.