diff --git a/files/hassio-apparmor b/files/hassio-apparmor index 00788a6..c8dafb1 100644 --- a/files/hassio-apparmor +++ b/files/hassio-apparmor @@ -2,7 +2,7 @@ set -e # Load configs -CONFIG_FILE=/etc/hassio.json +CONFIG_FILE=%%HASSIO_CONFIG%% # Read configs DATA="$(jq --raw-output '.data // "/usr/share/hassio"' ${CONFIG_FILE})" diff --git a/files/hassio-apparmor.service b/files/hassio-apparmor.service index e8d8f49..058642b 100644 --- a/files/hassio-apparmor.service +++ b/files/hassio-apparmor.service @@ -1,7 +1,7 @@ [Unit] Description=Hass.io AppArmor Wants=hassio-supervisor.service -Before=docker.service hassio-supervisor.service +Before=%%DOCKER_SERVICE%% hassio-supervisor.service [Service] Type=oneshot diff --git a/files/hassio-supervisor b/files/hassio-supervisor index 54d0758..2369a43 100644 --- a/files/hassio-supervisor +++ b/files/hassio-supervisor @@ -2,7 +2,7 @@ set -e # Load configs -CONFIG_FILE=/etc/hassio.json +CONFIG_FILE=%%HASSIO_CONFIG%% SUPERVISOR="$(jq --raw-output '.supervisor' ${CONFIG_FILE})" HOMEASSISTANT="$(jq --raw-output '.homeassistant' ${CONFIG_FILE})" diff --git a/files/hassio-supervisor.service b/files/hassio-supervisor.service index 2ebb8ac..77c7ba8 100644 --- a/files/hassio-supervisor.service +++ b/files/hassio-supervisor.service @@ -1,15 +1,15 @@ [Unit] Description=Hass.io supervisor -Requires=docker.service -After=docker.service dbus.socket +Requires=%%DOCKER_SERVICE%% +After=%%DOCKER_SERVICE%% dbus.socket [Service] Type=simple Restart=always RestartSec=5s -ExecStartPre=-/usr/bin/docker stop hassio_supervisor +ExecStartPre=-%%DOCKER_BINARY%% stop hassio_supervisor ExecStart=/usr/sbin/hassio-supervisor -ExecStop=-/usr/bin/docker stop hassio_supervisor +ExecStop=-%%DOCKER_BINARY%% stop hassio_supervisor [Install] WantedBy=multi-user.target diff --git a/hassio_install.sh b/hassio_install.sh index 3ea8b48..ff90506 100755 --- a/hassio_install.sh +++ b/hassio_install.sh @@ -3,7 +3,7 @@ set -e ARCH=$(uname -m) DOCKER_DAEMON_CONFIG=/etc/docker/daemon.json -SNAP=false +DOCKER_BINARY=/usr/bin/docker DOCKER_REPO=homeassistant DOCKER_SERVICE=docker.service DATA_SHARE=/usr/share/hassio @@ -27,15 +27,14 @@ command -v nmcli > /dev/null 2>&1 || echo "[Warning] No NetworkManager support o #detect if running on snapped docker if snap list docker >/dev/null 2>&1; then - SNAP=true DOCKER_DAEMON_CONFIG=/root/snap/docker/current/etc/docker/daemon.json + DOCKER_BINARY=/snap/bin/docker DATA_SHARE=/root/snap/docker/common/hassio CONFIG=$DATA_SHARE/hassio.json DOCKER_SERVICE="snap.docker.dockerd.service" fi function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } -function adjust_snap() { sed "s,/usr/bin/docker,/snap/bin/docker,; s,docker.service,$DOCKER_SERVICE,; s,/etc/hassio.json,$CONFIG," -i "$1"; } # Parse command line parameters while [[ $# -gt 0 ]]; do @@ -148,11 +147,8 @@ echo "[Info] Install supervisor startup scripts" curl -sL ${URL_BIN_HASSIO} > /usr/sbin/hassio-supervisor curl -sL ${URL_SERVICE_HASSIO} > /etc/systemd/system/hassio-supervisor.service -#adjust paths for snap -if [ "$SNAP" = "true" ]; then - adjust_snap /usr/sbin/hassio-supervisor - adjust_snap /etc/systemd/system/hassio-supervisor.service -fi +sed -i "s,%%HASSIO_CONFIG%%,${CONFIG},g" /usr/sbin/hassio-supervisor +sed -i "s,%%DOCKER_BINARY%%,${DOCKER_BINARY},g; s,%%DOCKER_SERVICE%%,${DOCKER_SERVICE},g" /etc/systemd/system/hassio-supervisor.service chmod a+x /usr/sbin/hassio-supervisor systemctl enable hassio-supervisor.service @@ -166,11 +162,8 @@ if command -v apparmor_parser > /dev/null 2>&1; then curl -sL ${URL_SERVICE_APPARMOR} > /etc/systemd/system/hassio-apparmor.service curl -sL ${URL_APPARMOR_PROFILE} > "${DATA_SHARE}"/apparmor/hassio-supervisor - #adjust paths for snap - if [ "$SNAP" = "true" ]; then - adjust_snap /usr/sbin/hassio-apparmor - adjust_snap /etc/systemd/system/hassio-apparmor.service - fi + sed -i "s,%%HASSIO_CONFIG%%,${CONFIG},g" /usr/sbin/hassio-apparmor + sed -i "s,%%DOCKER_SERVICE%%,${DOCKER_SERVICE},g" /etc/systemd/system/hassio-apparmor.service chmod a+x /usr/sbin/hassio-apparmor systemctl enable hassio-apparmor.service