Skip to content

Commit

Permalink
bump to matrix and focal
Browse files Browse the repository at this point in the history
  • Loading branch information
ehough committed Feb 23, 2021
1 parent c73fd8b commit 527952e
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 15 deletions.
23 changes: 22 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,28 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [2.8.0] - unreleased
## [3.0.0] - 2021-02-22

### Changed

* Bump to [Kodi 19.0 "Matrix"](https://kodi.tv/article/kodi-190-matrix-release)
* Bump to [Ubuntu 20.04 LTS "Focal Fossa"](https://wiki.ubuntu.com/FocalFossa/ReleaseNotes)

### Added

* Ability to customize installation of Kodi add-on packages via new build argument: `KODI_EXTRA_PACKAGES`

### Deprecated

* This image will no longer bundle all known Kodi add-ons (screensavers, PVR add-ons, games, etc), and existing add-ons will be removed in version 4.0.0 of this image (with Kodi 20). Please use the `KODI_EXTRA_PACKAGES` feature instead.

### Removed

* Libretro core `fbalpha` as it is not available with Kodi 19

## Fixed

* Missing video acceleration libraries ([#17](https://github.com/ehough/docker-kodi/issues/17))

## Changed

Expand Down
20 changes: 12 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# https://github.com/ehough/docker-kodi
# https://hub.docker.com/r/erichough/kodi/
#
# Copyright 2018-2020 - Eric Hough (eric@tubepress.com)
# Copyright 2018-2021 - Eric Hough (eric@tubepress.com)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Expand All @@ -18,9 +18,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

FROM ubuntu:bionic
FROM ubuntu:focal

ARG KODI_VERSION=18.8
ARG KODI_VERSION=19.0

# https://github.com/ehough/docker-nfs-server/pull/3#issuecomment-387880692
ARG DEBIAN_FRONTEND=noninteractive
Expand All @@ -33,18 +33,21 @@ RUN apt-get update && \
apt-get -y --purge autoremove && \
rm -rf /var/lib/apt/lists/*

ARG KODI_EXTRA_PACKAGES=

# besides kodi, we will install a few extra packages:
# - ca-certificates allows Kodi to properly establish HTTPS connections
# - kodi-eventclients-kodi-send allows us to shut down Kodi gracefully upon container termination
# - kodi-game-libretro allows Kodi to utilize Libretro cores as game add-ons
# - kodi-game-libretro-* Libretro cores
# - kodi-inputstream-* input stream add-ons
# - kodi-peripheral-* enables the use of gamepads, joysticks, game controllers, etc.
# - kodi-pvr-* PVR add-ons
# - kodi-screensaver-* additional screensavers
# - locales additional spoken language support (via x11docker --lang option)
# - pulseaudio in case the user prefers PulseAudio instead of ALSA
# - tzdata necessary for timezone selection
# - va-driver-all the full suite of drivers for the Video Acceleration API (VA API)
# - kodi-game-libretro-* Libretro cores (DEPRECATED: WILL BE REMOVED IN VERSION 4 OF THIS IMAGE)
# - kodi-pvr-* PVR add-ons (DEPRECATED: WILL BE REMOVED IN VERSION 4 OF THIS IMAGE)
# - kodi-screensaver-* additional screensavers (DEPRECATED: WILL BE REMOVED IN VERSION 4 OF THIS IMAGE)
RUN packages=" \
\
ca-certificates \
Expand All @@ -58,7 +61,6 @@ RUN packages=" \
kodi-game-libretro-bsnes-mercury-balanced \
kodi-game-libretro-bsnes-mercury-performance \
kodi-game-libretro-desmume \
kodi-game-libretro-fbalpha \
kodi-game-libretro-fbalpha2012 \
kodi-game-libretro-fuse \
kodi-game-libretro-gambatte \
Expand Down Expand Up @@ -103,7 +105,9 @@ RUN packages=" \
kodi-screensaver-stars \
locales \
pulseaudio \
tzdata" && \
tzdata \
va-driver-all \
${KODI_EXTRA_PACKAGES}" && \
\
apt-get update && \
apt-get install -y --no-install-recommends $packages && \
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,16 @@ You can also [terminate the container from the command line](doc/advanced.md#com

The [advanced topics](doc/advanced.md) documentation describes a few more useful features and functionality:

* [Custom add-ons](doc/advanced.md#custom-add-ons)
* [Image Variants](doc/advanced.md#image-variants)
* [Custom Startup Behavior](doc/advanced.md#custom-startup-behavior)
* [Command-Line Shutdown](doc/advanced.md#command-line-shutdown)

## Help!

Something not working quite right? Are you stuck? Please ask your questions in the
[discussion group](https://github.com/ehough/docker-kodi/discussions), where we exchange help and share ideas.

## Contributing

Constructive criticism and contributions are welcome! Please
Expand Down
28 changes: 23 additions & 5 deletions doc/advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,38 @@

This page details available features that most users won't likely need.

* [Custom add-ons](#custom-add-ons)
* [Image Variants](#image-variants)
* [Custom Startup Behavior](#custom-startup-behavior)
* [Command-Line Shutdown](#command-line-shutdown)

---

## Custom add-ons

In an effort to control the size of this image, some optional Kodi add-ons (e.g. PVRs, audio formats, screensavers, games, and visualizations) are not bundled by default. If we included each add-on, the image would grow to over 1 GB in size and continue to expand over time.

Since this image is based on Linux, add-ons will [need to be installed manually](https://kodi.wiki/view/Ubuntu_binary_add-ons). So how can you install the add-ons you need? Easily build your own custom image using the `KODI_EXTRA_PACKAGES` [build argument](https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables---build-arg). Its value is a space-separated list of additional packages that you'd like to install into the image.

As an example, let's say that you want to run Kodi using this image, but you also want the [Pluto TV PVR add-on](https://kodi.wiki/view/Add-on:Pluto.TV) and a [Libretro core](https://kodi.wiki/view/Libretro) for [Atari](https://kodi.wiki/view/Game_add-ons#Libretro_cores). You could build a custom image using the command:

```shell script
docker build \
--build-arg="kodi-pvr-plutotv kodi-game-libretro-atari800" \
erichough/kodi
```

Add-on package names can be found [here](https://launchpad.net/~team-xbmc/+archive/ubuntu/ppa?field.series_filter=focal), and you can install *any* Ubuntu package that you'd like.

## Image Variants

You can run an older version of Kodi, if you'd like to, by using the appropriate image tag.

| tag | Kodi
|--------------|---------|
| `latest` | v18 "Leia" |
| `krypton` | v17 "Krypton"
| tag | Kodi
|-----------|--------------|
| `latest` | v19 "Matrix" |
| `leia` | v18 "Leia" |
| `krypton` | v17 "Krypton"

## Custom Startup Behavior

Expand Down Expand Up @@ -55,4 +73,4 @@ match your desired timeout. e.g.
$ docker stop --time=120 <containerid>

Unless you really need more than 10 seconds, and for simplicity's sake, it's better to signal `x11docker` instead of
using `docker stop`.
using `docker stop`.
2 changes: 1 addition & 1 deletion entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# https://github.com/ehough/docker-kodi
# https://hub.docker.com/r/erichough/kodi/
#
# Copyright 2018-2020 - Eric Hough (eric@tubepress.com)
# Copyright 2018-2021 - Eric Hough (eric@tubepress.com)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Expand Down

0 comments on commit 527952e

Please sign in to comment.