* Fix #329: Fails to start with node syntax errors * s6 v3: Don't try to send commands to the supervision tree, per https://github.com/just-containers/s6-overlay/blob/master/MOVING-TO-V3.md * Updates to build process to set the correct permissions, as well as through cont-init.d as well as set a fixed (more modern) base image * Fix build to actually be locked to a specified version of the base image Update to base image 18.2.0
This commit is contained in:
parent
3e06a50caa
commit
7c01409231
8 changed files with 24 additions and 31 deletions
|
|
@ -1,7 +1,13 @@
|
|||
ARG BUILD_FROM=hassioaddons/base:14.2.2
|
||||
# To specify the base image version, edit build.yaml
|
||||
# Specifying BUILD_FROM=image:version in this file doesn't work
|
||||
ARG BUILD_FROM
|
||||
FROM $BUILD_FROM
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
ENV LANG=C.UTF-8
|
||||
|
||||
# Instruct npm to run lifecycle scripts (like preinstall, install, postinstall)
|
||||
# as the root user, instead of trying to downgrade permissions.
|
||||
ENV NPM_CONFIG_UNSAFE_PERM=true
|
||||
|
||||
# Set shell
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
|
@ -14,8 +20,7 @@ COPY ./package.json /plejd/
|
|||
ARG BUILD_ARCH
|
||||
|
||||
# Install Node
|
||||
RUN apk add --no-cache jq
|
||||
RUN \
|
||||
RUN set -eux; \
|
||||
apk add --no-cache --virtual .build-dependencies \
|
||||
g++ \
|
||||
gcc \
|
||||
|
|
@ -32,9 +37,7 @@ RUN \
|
|||
nodejs \
|
||||
npm \
|
||||
dbus-dev \
|
||||
glib-dev \
|
||||
\
|
||||
&& npm config set unsafe-perm true
|
||||
glib-dev
|
||||
|
||||
WORKDIR /plejd
|
||||
RUN npm install \
|
||||
|
|
@ -44,6 +47,9 @@ RUN npm install \
|
|||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
# Ensure runtime scripts remain executable even if modes were lost in the source checkout
|
||||
RUN set -eux; \
|
||||
chmod 0755 /etc/services.d/plejd/run /etc/cont-init.d/10-plejd-perms /usr/bin/plejd.sh
|
||||
|
||||
# Build arguments
|
||||
ARG BUILD_DATE
|
||||
|
|
@ -65,4 +71,3 @@ LABEL \
|
|||
org.label-schema.usage="https://github.com/icanos/hassio-plejd/tree/master/README.md" \
|
||||
org.label-schema.vcs-ref=${BUILD_REF} \
|
||||
org.label-schema.vcs-url="https://github.com/icanos/hassio-plejd"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"squash": false,
|
||||
"build_from": {
|
||||
"aarch64": "hassioaddons/base-aarch64:8.0.6",
|
||||
"amd64": "hassioaddons/base-amd64:8.0.6",
|
||||
"armhf": "hassioaddons/base-armhf:8.0.6",
|
||||
"armv7": "hassioaddons/base-armv7:8.0.6",
|
||||
"i386": "hassioaddons/base-i386:8.0.6"
|
||||
},
|
||||
"args": {}
|
||||
}
|
||||
6
plejd/build.yaml
Normal file
6
plejd/build.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
build_from:
|
||||
armhf: ghcr.io/hassio-addons/base/armhf:18.2.0
|
||||
armv7: ghcr.io/hassio-addons/base/armv7:18.2.0
|
||||
aarch64: ghcr.io/hassio-addons/base/aarch64:18.2.0
|
||||
amd64: ghcr.io/hassio-addons/base/amd64:18.2.0
|
||||
i386: ghcr.io/hassio-addons/base/i386:18.2.0
|
||||
|
|
@ -10,6 +10,7 @@
|
|||
"host_network": true,
|
||||
"host_dbus": true,
|
||||
"apparmor": false,
|
||||
"init": false,
|
||||
"options": {
|
||||
"site": "Default Site",
|
||||
"username": "",
|
||||
|
|
|
|||
4
plejd/rootfs/etc/cont-init.d/10-plejd-perms
Executable file
4
plejd/rootfs/etc/cont-init.d/10-plejd-perms
Executable file
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/with-contenv bashio
|
||||
|
||||
bashio::log.info 'Ensuring Plejd scripts are executable'
|
||||
chmod 0755 /etc/services.d/plejd/run /usr/bin/plejd.sh || bashio::exit.nok 'Failed to set permissions'
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
#!/usr/bin/execlineb -S0
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: Plejd
|
||||
# ==============================================================================
|
||||
if -n { s6-test $# -ne 0 }
|
||||
if -n { s6-test ${1} -eq 256 }
|
||||
|
||||
s6-svscanctl -t /var/run/s6/services
|
||||
4
plejd/rootfs/etc/services.d/plejd/run
Normal file → Executable file
4
plejd/rootfs/etc/services.d/plejd/run
Normal file → Executable file
|
|
@ -5,14 +5,10 @@
|
|||
# ==============================================================================
|
||||
|
||||
bashio::log.info 'Starting the Plejd service...'
|
||||
bashio::log.info 'Docker env updated 2023-10-17...'
|
||||
|
||||
# Change working directory
|
||||
cd /plejd || bashio::exit.nok 'Unable to change working directory'
|
||||
|
||||
# Run the Plejd service
|
||||
bashio::log.info 'Verified permissions on startup script'
|
||||
chmod +x /usr/bin/plejd.sh
|
||||
|
||||
bashio::log.info 'Executing startup script'
|
||||
exec /usr/bin/plejd.sh
|
||||
|
|
|
|||
0
plejd/rootfs/usr/bin/plejd.sh
Normal file → Executable file
0
plejd/rootfs/usr/bin/plejd.sh
Normal file → Executable file
Loading…
Add table
Add a link
Reference in a new issue