This is how the BubbleUPnP Server could be installed in Ubuntu 16.04 server running headless.
First install a headless version of JRE (because the normal JRE has many graphical dependencies, it is advisable to install a headless version).
$sudo apt install default-jre-headless
The latest OpenJDK JRE headless version will be installed.
Then we can follow the instructions in BubbleUPnP website to install the server. The steps are adding the ppa to apt repository and installing the server via apt-get.
$sudo add-apt-repository ppa:bubbleguuum/bubbleupnpserver $sudo apt update $sudo apt install bubbleupnpserver
The post installations scripts pulls jar files from BubbleUPnP website and also pulls a statically linked ffmpeg. It also installs a systemd unit '/lib/systemd/system/bubbleupnpserver.service'
. Unfortunately this systemd service ignores any user preferences set in '/etc/default/bubbleupnpserver'
. Therefore we have to override the default settings in '/lib/systemd/system/bubbleupnpserver.service'
. The systemctl
command invoked with edit
directive opens the override.conf file /lib/systemd/system/bubbleupnpserver.service.d/override.conf
in the default editor.
$sudo systemctl edit bubbleupnpserver.service
Add the following lines to above file :
[Service] # Change the user and group BubbleUPnP server should run_as and change the data directory. # First clear the ExecStart with an empty directive; otherwise systemctl does not load the unit ExecStart= ExecStart=/usr/share/bubbleupnpserver/launch.sh -dataDir /home/new_user/.bubbleupnpserver -httpPort 58050 -httpsPort 58051 -nologstdout User=new_user Group=new_user
Then reload,test and start the BubbleUPnp systemd service.
$sudo systemctl daemon-reload # In order to see whether overrides are properly loaded $sudo systemctl cat bubbleupnpserver.service # start the server $sudo systemctl start bubbleupnpserver.service
Point your browser to http://server_ip:58050/ for additional configuration of the server. We don’t have to change anything for future BubbleUPnP updates, because the default configuration is overridden.
http://localhost:58050/
Interesting, done all that, you get a page on the browser, with tabs, then what? How do you actually configure the server to provide a source of music, videos, etc?
BubbleUPnP server aggregate other DLNA/UPnP servers and provides more functionality like playlists, chromecast transcoding etc. In order to use it you need an existing DLNA/UPnP media server.