What is docker
Users with without knowledge about docker are encouraged to search the Internet for information. Good starting points are the docker Wiki and docker docs
A docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. docker images are comparable to a portable application
Every docker container image believes it's alone in the universe, without access to the Internet, without access to CoreELEC storage, and without access to hardware. For this reason the startup parameters of the docker (container) application are very important.
docker Addons
Obtain the following from LinuxServer.io:
- docker Add-ons Repository
- docker
- docker Image Updater
- Portainer
No other docker software is to be installed at this point in time.
LinuxServer.io has the largest Open Source collection of docker images on the web.
Naming Convention
It is recommended that all docker container images needing access to storage use the following convention:
Virtual Storage | Actual CoreELEC Storage |
---|---|
/storage | /storage |
/media | /media |
/config | /storage/.config/dockers/<app_name>/config |
Generally this means linking /storage/dockers
to /storage/.config/dockers
docker Hub
- The main image repository is the docker Hub. It is also a main source of container creation/execution information. Remember to filter the docker images for SoC ARM.
- Take a little time to read through the Portainer documentation before using the service (
local_ip:9000
), it is a very useful tool.
- The
–privileged
parameter is needed to access the hardware (example: internal or USB tuners). It can for example be used with the–restart unless-stopped
. The–net=host
parameter allows access to the CoreELEC network interfaces.
Examples
In this example, tvheadend uses the –net=host
parameter so that it has access to the home network AND can use IPTV sources. In this case it is not necessary to publish ports. It also includes an -e RUN_OPTS
parameter to access a remote SATIP tuner at another point on the planet via zerotier.
tvheadend
docker create \ --name=tvheadend \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/Amsterdam \ -e RUN_OPTS="--satip_xml http://10.10.10.19:9999/desc.xml" \ --net=host \ -v /storage/dockers/tvheadend/config:/config \ -v /storage/dockers/tvheadend/recordings:/recordings \ -v /storage/dockers/tvheadend/picons:/picons \ -v /storage:/storage \ -v /media:/media \ --restart unless-stopped \ --privileged \ linuxserver/tvheadend
syncthing
docker create \ --name=syncthing \ -e PUID=0 \ -e PGID=0 \ -e TZ=Europe/Amsterdam \ -e UMASK_SET=022 \ -p 8384:8384 \ -p 22000:22000 \ -p 21027:21027/udp \ -v /storage/dockers/syncthing/config:/config \ -v /storage:/storage \ -v /media:/media \ --restart unless-stopped \ linuxserver/syncthing
minisatip
docker create \ --name=minisatip \ -e PUID=0 \ -e PGID=0 \ -e TZ=Europe/Amsterdam \ -e RUN_OPTS="" \ -p 8875:8875 \ -p 554:554 \ -p 1900:1900/udp \ -v /storage/dockers/minisatip/config:/config \ --restart unless-stopped \ --privileged \ linuxserver/minisatip
zerotier-one
docker run \ --name zerotier-one \ --device=/dev/net/tun \ --net=host \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ --cap-add=SYS_RAWIO \ -v /storage/dockers/zerotier-one:/var/lib/zerotier-one \ --restart unless-stopped \ --privileged \ -d bltavares/zerotier
Those who have ever used zerotier are probably familiar with the zerotier-cli command. An easy way to run this command with Portainer is to go to the zerotier-one container and click “Console“, which will open the terminal.
Example:
zerotier-cli join 34b6234ad
Caution
When using scripts from the Internet automating the task of installing applications, verify them before using.
End-users have reported instances in which obsolete versions are installed without the possibility of updating.
Always use reliable repositories.
Support
Support for docker is provided by Team LinuxServer.
Support for Portainer is provided by the Portainer Community
Team CoreELEC provides no support for 3rd party applications.