Assure that a keyboard and mouse is connected to your Kodi device so that you have a way to configure Kodi.
Note that adding a keyboard/mouse when Kodi container is already running won't wor. In that case you have to stop and start Kodi.
- Logon (ssh) to the machine where you want to run kodi
- pull my latest kodi version from docker hub
docker pull janvda/kodi:2.1.0
- launch kodi using x11docker. E.g.
x11docker --backend=docker --xorg -xc -I \
--pulseaudio \
--gpu \
--wm=none \
--user=jan \
--home=/home/jan/kodi-jan/home2 \
-- -v kodi-jan-media2:/media:ro -v /run/user/1001/pulse/native:/x11docker/pulseaudio.socket -p 8090:8080 -- \
janvda/kodi:2.1.0 &
- Exit the shell (command
exit
) - this will assure that kodi keeps on running.
Using the Official Kodi Remote app from App Store you can control Kodi.
To use this you first need to enable "remote" control in Kodi
- via Settings >Services > Control:
- web server > Allow remote control via HTTP
- Application Control > Allow remote control from applications on other systems.
- install the zip version you find in the
/add-ons/
folder
- Install the zip version you find in the
/add-ons
folder - Configure it with your VRT max username and password
- Try playing a file this should install widevine
- It is normal that playing won't work - you have to stop and start kodi to get it working !!
The log file can be found in folder ~/.kodi/temp/kodi.log
Enter following command in attached shell
more ~/.kodi/temp/kodi.log
- 2.1.0 (2023-06-12): added latest version of vrt nu add-on in
/add-ons
folder - 2.0.0 (2023-06-12): Kodi version 20.0 on ubuntu release lunar, TED add-on in
/add-ons
folder - 1.1.0 (2022-06-28): Kodi version 19.4 - having problems with TED, VRT max.
- 1.0.0 (2022-06-25): First version
Here below the original README.md from erichough/kodi
Dockerized Kodi with audio and video.
- fully-functional Kodi installation in a Docker container
- audio (ALSA or PulseAudio) and video (with optional OpenGL hardware video acceleration) via x11docker
- simple, Ubuntu-based image that adheres to the official Kodi installation instructions
- clean shutdown of Kodi when its container is terminated
The host system will need the following:
-
Linux and Docker
This image should work on any Linux distribution with a functional Docker installation.
-
A connected display and speaker(s)
If you're looking for a headless Kodi installation, look elsewhere!
-
Ensure that the packages for an X or Wayland server are present on the Docker host. Please consult your distribution's documentation if you're not sure what to install. A display server does not need to be running ahead of time.
-
x11docker
allows Docker-based applications to utilize X and/or Wayland on the host. Please follow thex11docker
installation instructions and ensure that you have a working setup on the Docker host.
Use x11docker
to start the erichough/kodi
Docker image. Detailing the myriad of x11docker
options is beyond the
scope of this document; please consult the x11docker
documentation to find
the set of options that work for your setup.
Below is an example command (split into multiple lines for clarity) that starts Kodi with a fresh X.Org X server with PulseAudio sound, hardware video acceleration, a persistent Kodi home directory, and a shared read-only Docker mount for media files:
$ x11docker --xorg \
--pulseaudio \
--gpu \
--homedir /host/path/to/kodi/home \
-- -v /host/path/to/media:/media:ro -- \
erichough/kodi
Note that the optional argument passed between a pair of --
defines additional arguments to be passed to docker run
.
You can shut down Kodi just as you normally would; i.e. by using the power menu from the Kodi home screen.
Behind the scenes, the Docker container and x11docker
processes will terminate cleanly.
You can also terminate the container from the command line.
[Unit]
Description=Dockerized Kodi
Requires=docker.service
After=network.target docker.service
[Service]
ExecStartPre=/usr/bin/docker pull erichough/kodi
ExecStart=/usr/bin/x11docker ... erichough/kodi
Restart=always
KillMode=process
[Install]
WantedBy=multi-user.target
The advanced topics documentation describes a few more useful features and functionality:
Something not working quite right? Are you stuck? Please ask your questions in the discussion group, where we exchange help and share ideas.
Constructive criticism and contributions are welcome! Please submit an issue or pull request.