Skip to content

Installation instructions (Linux Docker systemd)

Sam Stenvall edited this page Jul 13, 2019 · 3 revisions

The goal is to run XBMC Video Server in a Docker container, started and controlled by a systemd service. This way the application will behave just like any other daemon on your system, except it will be fully self-contained.

Prerequisites

Initial installation

Execute the following commands as the root user:

git clone https://github.com/Jalle19/xbmc-video-server.git /opt/xbmc-video-server
cd /opt/xbmc-video-server
docker build -f docker/Dockerfile -t jalle19/xbmc-video-server .
systemctl enable /opt/xbmc-video-server/docker/xbmc-video-server.service
systemctl start xbmc-video-server.service

You can now check that the application is running using systemctl status xbmc-video-server.service. It should print something like this:

● xbmc-video-server.service - XBMC Video Server
   Loaded: loaded (/opt/xbmc-video-server/docker/xbmc-video-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-07-11 14:33:41 EEST; 4s ago
  Process: 16428 ExecStartPre=/bin/sh -c mkdir -p /usr/local/share/xbmc-video-server (code=exited, status=0/SUCCESS)
 Main PID: 16430 (docker)
    Tasks: 9 (limit: 1130)
   CGroup: /system.slice/xbmc-video-server.service
           └─16430 /usr/bin/docker run --rm --name=xbmc-video-server --volume=/usr/local/share/xbmc-video-server:/sh

Jul 11 14:33:45 ubuntu-docker docker[16430]: *** applied m150811_095016_add_backend_tcp_port (time: 0.066s)
Jul 11 14:33:45 ubuntu-docker docker[16430]: *** applying m150829_085133_drop_disable_frodo_warning
Jul 11 14:33:45 ubuntu-docker docker[16430]:     > delete from settings ... done (time: 0.073s)
Jul 11 14:33:45 ubuntu-docker docker[16430]: *** applied m150829_085133_drop_disable_frodo_warning (time: 0.146s)
Jul 11 14:33:45 ubuntu-docker docker[16430]: *** applying m151126_185530_add_user_start_page_column
Jul 11 14:33:45 ubuntu-docker docker[16430]: *** applied m151126_185530_add_user_start_page_column (time: 0.071s)
Jul 11 14:33:45 ubuntu-docker docker[16430]: *** applying m160722_105938_add_enable_actor_typeahead_setting
Jul 11 14:33:45 ubuntu-docker docker[16430]: *** applied m160722_105938_add_enable_actor_typeahead_setting (time: 0.
Jul 11 14:33:45 ubuntu-docker docker[16430]: Migrated up successfully.
Jul 11 14:33:45 ubuntu-docker docker[16430]: AH00558: apache2: Could not reliably determine the server's fully quali

The application is now running on port 53122. Assuming for a second that your machine's IP address is 192.168.1.100 you should be able to browse to http://192.168.1.100:53122/.

Upgrading

Execute the following commands as the root user:

cd /opt/xbmc-video-server
git pull
docker build -f docker/Dockerfile -t jalle19/xbmc-video-server .
systemctl daemon-reload
systemctl restart xbmc-video-server.service

Reverse proxy configuration

Create the file /usr/local/share/xbmc-video-server/config/apache2/reverse-proxy.conf with the following contents (adapt the URLs and authentication to match your setup, see https://github.com/Jalle19/xbmc-video-server/wiki/Configuring-a-reverse-proxy for more information):

AllowEncodedSlashes On
	
<Location /xbmc-vfs>
	ProxyPass http://xbmc.example.com:8080/vfs nocanon
	RequestHeader set Authorization "Basic eGJtYzp4Ym1j"
</Location>

After this, restart the service using systemctl restart xbmc-video-server.service.