hassio-plejd/plejd/Dockerfile
Tim Jackson 7c01409231
Fix #329: Fails to start with node syntax errors (#330)
* 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
2025-10-17 17:00:18 +02:00

73 lines
1.8 KiB
Docker

# 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
# 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"]
# Copy data for add-on
COPY ./*.js /plejd/
COPY ./config.json /plejd/
COPY ./package.json /plejd/
ARG BUILD_ARCH
# Install Node
RUN set -eux; \
apk add --no-cache --virtual .build-dependencies \
g++ \
gcc \
libc-dev \
linux-headers \
make \
python3 \
bluez \
eudev-dev \
zlib-dev \
\
&& apk add --no-cache \
git \
nodejs \
npm \
dbus-dev \
glib-dev
WORKDIR /plejd
RUN npm install \
--no-audit \
--no-update-notifier \
--unsafe-perm
# 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
ARG BUILD_REF
ARG BUILD_VERSION
# Labels
LABEL \
io.hass.name="Plejd" \
io.hass.description="Adds support for the Swedish home automation devices from Plejd." \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \
maintainer="Marcus Westin <marcus@sekurbit.se>" \
org.label-schema.description="Adds support for the Swedish home automation devices from Plejd." \
org.label-schema.build-date=${BUILD_DATE} \
org.label-schema.name="Plejd" \
org.label-schema.schema-version="1.0" \
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"