* 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
|
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
|
# Set shell
|
||||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||||
|
|
@ -14,8 +20,7 @@ COPY ./package.json /plejd/
|
||||||
ARG BUILD_ARCH
|
ARG BUILD_ARCH
|
||||||
|
|
||||||
# Install Node
|
# Install Node
|
||||||
RUN apk add --no-cache jq
|
RUN set -eux; \
|
||||||
RUN \
|
|
||||||
apk add --no-cache --virtual .build-dependencies \
|
apk add --no-cache --virtual .build-dependencies \
|
||||||
g++ \
|
g++ \
|
||||||
gcc \
|
gcc \
|
||||||
|
|
@ -32,9 +37,7 @@ RUN \
|
||||||
nodejs \
|
nodejs \
|
||||||
npm \
|
npm \
|
||||||
dbus-dev \
|
dbus-dev \
|
||||||
glib-dev \
|
glib-dev
|
||||||
\
|
|
||||||
&& npm config set unsafe-perm true
|
|
||||||
|
|
||||||
WORKDIR /plejd
|
WORKDIR /plejd
|
||||||
RUN npm install \
|
RUN npm install \
|
||||||
|
|
@ -44,6 +47,9 @@ RUN npm install \
|
||||||
|
|
||||||
# Copy root filesystem
|
# Copy root filesystem
|
||||||
COPY rootfs /
|
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
|
# Build arguments
|
||||||
ARG BUILD_DATE
|
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.usage="https://github.com/icanos/hassio-plejd/tree/master/README.md" \
|
||||||
org.label-schema.vcs-ref=${BUILD_REF} \
|
org.label-schema.vcs-ref=${BUILD_REF} \
|
||||||
org.label-schema.vcs-url="https://github.com/icanos/hassio-plejd"
|
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_network": true,
|
||||||
"host_dbus": true,
|
"host_dbus": true,
|
||||||
"apparmor": false,
|
"apparmor": false,
|
||||||
|
"init": false,
|
||||||
"options": {
|
"options": {
|
||||||
"site": "Default Site",
|
"site": "Default Site",
|
||||||
"username": "",
|
"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 'Starting the Plejd service...'
|
||||||
bashio::log.info 'Docker env updated 2023-10-17...'
|
|
||||||
|
|
||||||
# Change working directory
|
# Change working directory
|
||||||
cd /plejd || bashio::exit.nok 'Unable to change working directory'
|
cd /plejd || bashio::exit.nok 'Unable to change working directory'
|
||||||
|
|
||||||
# Run the Plejd service
|
# Run the Plejd service
|
||||||
bashio::log.info 'Verified permissions on startup script'
|
|
||||||
chmod +x /usr/bin/plejd.sh
|
|
||||||
|
|
||||||
bashio::log.info 'Executing startup script'
|
bashio::log.info 'Executing startup script'
|
||||||
exec /usr/bin/plejd.sh
|
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