mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
Merge pull request #1094 from lrusak/docker
docker: update to 1.12.5, let LibreELEC handle the systemd service
This commit is contained in:
commit
fc51438eb7
@ -1,3 +1,7 @@
|
|||||||
|
8.1.110
|
||||||
|
- Update to docker 1.12.5
|
||||||
|
- Adjust the systemd service file
|
||||||
|
|
||||||
8.1.109
|
8.1.109
|
||||||
- Update to docker 1.12.3
|
- Update to docker 1.12.3
|
||||||
- Include ctop utility
|
- Include ctop utility
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="docker"
|
PKG_NAME="docker"
|
||||||
PKG_VERSION="1.12.3"
|
PKG_VERSION="1.12.5"
|
||||||
PKG_REV="109"
|
PKG_REV="110"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_ADDON_PROJECTS="Generic RPi RPi2 imx6 WeTek_Hub WeTek_Play_2 Odroid_C2"
|
PKG_ADDON_PROJECTS="Generic RPi RPi2 imx6 WeTek_Hub WeTek_Play_2 Odroid_C2"
|
||||||
PKG_LICENSE="ASL"
|
PKG_LICENSE="ASL"
|
||||||
|
@ -31,10 +31,6 @@ import oe
|
|||||||
__author__ = 'lrusak'
|
__author__ = 'lrusak'
|
||||||
__addon__ = xbmcaddon.Addon()
|
__addon__ = xbmcaddon.Addon()
|
||||||
__path__ = __addon__.getAddonInfo('path')
|
__path__ = __addon__.getAddonInfo('path')
|
||||||
__service__ = __path__ + '/systemd/' + __addon__.getAddonInfo('id') + '.service'
|
|
||||||
__servicename__ = __addon__.getAddonInfo('id') + '.service'
|
|
||||||
__socket__ = __path__ + '/systemd/' + __addon__.getAddonInfo('id') + '.socket'
|
|
||||||
__socketname__ = __addon__.getAddonInfo('id') + '.socket'
|
|
||||||
|
|
||||||
sys.path.append(__path__ + '/lib')
|
sys.path.append(__path__ + '/lib')
|
||||||
import dockermon
|
import dockermon
|
||||||
@ -278,54 +274,11 @@ class Main(object):
|
|||||||
|
|
||||||
monitor = DockerMonitor(self)
|
monitor = DockerMonitor(self)
|
||||||
|
|
||||||
if not Docker().is_active():
|
|
||||||
if not Docker().is_enabled():
|
|
||||||
Docker().enable()
|
|
||||||
Docker().start()
|
|
||||||
|
|
||||||
while not monitor.abortRequested():
|
while not monitor.abortRequested():
|
||||||
if monitor.waitForAbort():
|
if monitor.waitForAbort():
|
||||||
# we don't want to stop or disable docker while it's installed
|
# we don't want to stop or disable docker while it's installed
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class Docker(object):
|
|
||||||
|
|
||||||
def enable(self):
|
|
||||||
self.execute('systemctl enable ' + __service__)
|
|
||||||
self.execute('systemctl enable ' + __socket__)
|
|
||||||
|
|
||||||
def disable(self):
|
|
||||||
self.execute('systemctl disable ' + __servicename__)
|
|
||||||
self.execute('systemctl disable ' + __socketname__)
|
|
||||||
|
|
||||||
def is_enabled(self):
|
|
||||||
if self.execute('systemctl is-enabled ' + __servicename__, get_result=1).strip('\n') == 'enabled':
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
def start(self):
|
|
||||||
self.execute('systemctl start ' + __servicename__)
|
|
||||||
|
|
||||||
def stop(self):
|
|
||||||
self.execute('systemctl stop ' + __servicename__)
|
|
||||||
|
|
||||||
def is_active(self):
|
|
||||||
if self.execute('systemctl is-active ' + __servicename__, get_result=1).strip('\n') == 'active':
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
def execute(self, command_line, get_result=0):
|
|
||||||
result = oe.execute(command_line, get_result=get_result)
|
|
||||||
if get_result:
|
|
||||||
return result
|
|
||||||
|
|
||||||
def restart(self):
|
|
||||||
if self.is_active():
|
|
||||||
self.stop()
|
|
||||||
self.start()
|
|
||||||
|
|
||||||
class DockerMonitor(xbmc.Monitor):
|
class DockerMonitor(xbmc.Monitor):
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
@ -1,19 +1,24 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Docker Application Container Engine
|
Description=Docker Application Container Engine
|
||||||
Documentation=https://docs.docker.com
|
Documentation=https://docs.docker.com
|
||||||
After=network.target docker.socket
|
After=network.target
|
||||||
Requires=docker.socket
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=notify
|
Type=notify
|
||||||
Environment=PATH=/bin:/sbin:/usr/bin:/usr/sbin:/storage/.kodi/addons/service.system.docker/bin
|
Environment=PATH=/bin:/sbin:/usr/bin:/usr/sbin:/storage/.kodi/addons/service.system.docker/bin
|
||||||
ExecStartPre=/storage/.kodi/addons/service.system.docker/bin/docker-config
|
ExecStartPre=/storage/.kodi/addons/service.system.docker/bin/docker-config
|
||||||
EnvironmentFile=-/storage/.kodi/userdata/addon_data/service.system.docker/config/docker.conf
|
EnvironmentFile=-/storage/.kodi/userdata/addon_data/service.system.docker/config/docker.conf
|
||||||
ExecStart=/storage/.kodi/addons/service.system.docker/bin/dockerd --host=fd:// --group=root $DOCKER_DAEMON_OPTS $DOCKER_STORAGE_OPTS
|
ExecStart=/storage/.kodi/addons/service.system.docker/bin/dockerd --exec-opt native.cgroupdriver=systemd \
|
||||||
MountFlags=slave
|
--group=root \
|
||||||
|
$DOCKER_DAEMON_OPTS \
|
||||||
|
$DOCKER_STORAGE_OPTS
|
||||||
|
ExecReload=/bin/kill -s HUP $MAINPID
|
||||||
|
TasksMax=8192
|
||||||
LimitNOFILE=1048576
|
LimitNOFILE=1048576
|
||||||
LimitNPROC=1048576
|
LimitNPROC=1048576
|
||||||
LimitCORE=infinity
|
LimitCORE=infinity
|
||||||
|
TimeoutStartSec=0
|
||||||
|
Restart=on-abnormal
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
@ -1,13 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Docker Socket for the API
|
|
||||||
PartOf=docker.service
|
|
||||||
|
|
||||||
[Socket]
|
|
||||||
ListenStream=/var/run/docker.sock
|
|
||||||
SocketMode=0660
|
|
||||||
SocketUser=root
|
|
||||||
SocketGroup=root
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=sockets.target
|
|
||||||
Alias=docker.socket
|
|
Loading…
x
Reference in New Issue
Block a user