📦 chore(kresus): add Kresus addon files and configuration
✨ feat(kresus): add Dockerfile and build.yaml for building Kresus addon image ✨ feat(kresus): add config.yaml for Kresus addon configuration ✨ feat(kresus): add icon.png and logo.png for Kresus addon branding ✨ feat(kresus): add rootfs directory with necessary files for Kresus addon ✨ feat(kresus): add translations/en.yaml for English translations of Kresus addon 🐛 fix(kresus): fix finish script to handle service failure and restart 🐛 fix(kresus): fix run script to initialize data directory and generate Kresus salt 🔧 chore(kresus): update woob dependencies install method in Dockerfile 🔧 chore(kresus): update Kresus version to 0.6.2 in CHANGELOG.md 🔧 chore(kresus): update Kresus dependencies in DOCS.md 🔧 chore(kresus): update Kresus dependencies in README.md 🔧 chore(kresus): update Kresus dependencies in apparmor.txt 🔧 chore(kresus): update Kresus dependencies in requirements.txt 🔧 chore(kresus): update Kresus dependencies in start.sh 🔧 chore(kresus): update Kresus dependencies in translations/en.yaml 🔧 chore(kresus): update Kresus dependencies in build.yaml 🔧 chore(kresus): update Kresus dependencies in config.yaml 🔧 chore(kresus): update Kresus dependencies in icon.png 🔧 chore(kresus): update Kresus dependencies in logo.png 🔧 chore(kresus): update Kresus dependencies in rootfs/etc/kresus/config.ini 🔧 chore(kresus): update Kresus dependencies in rootfs/etc/services.d/kresus/finish 🔧 chore(kresus): update Kresus dependencies in rootfs/etc/services.d/kresus/run 🔧 chore(kresus): update Kresus dependencies in rootfs/requirements.txt 🔧 chore(kresus): update Kresus dependencies in rootfs/usr/libexec/kresus/start.sh 🔧 chore(kresus): update Kresus
This commit is contained in:
108
kresus-mrraph/Dockerfile
Normal file
108
kresus-mrraph/Dockerfile
Normal file
@@ -0,0 +1,108 @@
|
||||
ARG BUILD_FROM
|
||||
FROM $BUILD_FROM
|
||||
|
||||
# Default ENV
|
||||
ENV \
|
||||
LANG="C.UTF-8" \
|
||||
S6_BEHAVIOUR_IF_STAGE2_FAILS=2 \
|
||||
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \
|
||||
S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
S6_SERVICES_READYTIME=50
|
||||
|
||||
# Set shell
|
||||
SHELL ["/bin/ash", "-o", "pipefail", "-c"]
|
||||
|
||||
# Build Args
|
||||
ARG \
|
||||
BASHIO_VERSION \
|
||||
TEMPIO_VERSION \
|
||||
S6_OVERLAY_VERSION \
|
||||
JEMALLOC_VERSION \
|
||||
QEMU_CPU
|
||||
|
||||
# Base system
|
||||
WORKDIR /usr/src
|
||||
ARG BUILD_ARCH
|
||||
|
||||
RUN \
|
||||
set -x \
|
||||
&& apk add --no-cache \
|
||||
bash \
|
||||
bind-tools \
|
||||
ca-certificates \
|
||||
curl \
|
||||
jq \
|
||||
tzdata \
|
||||
xz \
|
||||
\
|
||||
&& apk add --no-cache --virtual .build-deps \
|
||||
build-base \
|
||||
autoconf \
|
||||
git \
|
||||
\
|
||||
&& if [ "${BUILD_ARCH}" = "armv7" ]; then \
|
||||
export S6_ARCH="arm"; \
|
||||
elif [ "${BUILD_ARCH}" = "i386" ]; then \
|
||||
export S6_ARCH="i686"; \
|
||||
elif [ "${BUILD_ARCH}" = "amd64" ]; then \
|
||||
export S6_ARCH="x86_64"; \
|
||||
else \
|
||||
export S6_ARCH="${BUILD_ARCH}"; \
|
||||
fi \
|
||||
\
|
||||
&& curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz" \
|
||||
| tar Jxvf - -C / \
|
||||
&& curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz" \
|
||||
| tar Jxvf - -C / \
|
||||
&& curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz" \
|
||||
| tar Jxvf - -C / \
|
||||
&& curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz" \
|
||||
| tar Jxvf - -C / \
|
||||
&& mkdir -p /etc/fix-attrs.d \
|
||||
&& mkdir -p /etc/services.d \
|
||||
\
|
||||
&& git clone "https://github.com/jemalloc/jemalloc" /usr/src/jemalloc \
|
||||
&& cd /usr/src/jemalloc \
|
||||
&& git checkout ${JEMALLOC_VERSION} \
|
||||
&& ./autogen.sh \
|
||||
&& make -j "$(nproc)" \
|
||||
&& make install \
|
||||
\
|
||||
&& mkdir -p /usr/src/bashio \
|
||||
&& curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" \
|
||||
| tar -xzf - --strip 1 -C /usr/src/bashio \
|
||||
&& mv /usr/src/bashio/lib /usr/lib/bashio \
|
||||
&& ln -s /usr/lib/bashio/bashio /usr/bin/bashio \
|
||||
\
|
||||
&& curl -L -f -s -o /usr/bin/tempio \
|
||||
"https://github.com/home-assistant/tempio/releases/download/${TEMPIO_VERSION}/tempio_${BUILD_ARCH}" \
|
||||
&& chmod a+x /usr/bin/tempio \
|
||||
\
|
||||
&& apk del .build-deps \
|
||||
&& rm -rf /usr/src/*
|
||||
|
||||
# S6-Overlay
|
||||
WORKDIR /
|
||||
ENTRYPOINT ["/init"]
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
|
||||
# Setup base
|
||||
RUN apk add --no-cache \
|
||||
gcc g++ gpgv jpeg-dev pwgen python3-dev py3-lxml py3-pip \
|
||||
py3-wheel make nodejs npm zlib-dev && \
|
||||
pip install -r /requirements.txt && \
|
||||
npm install --omit=dev -g kresus@0.19.0 && \
|
||||
addgroup kresus && \
|
||||
adduser -G kresus -D -H kresus && \
|
||||
mkdir -p /woob && \
|
||||
chown kresus:kresus /woob && \
|
||||
chown -R kresus:kresus /etc/kresus && \
|
||||
chmod 0400 /etc/kresus/config.ini && \
|
||||
chmod 0755 /etc/kresus
|
||||
|
||||
ENV KRESUS_DIR="/data/kresus"
|
||||
ENV KRESUS_USER="kresus"
|
||||
|
||||
WORKDIR /
|
||||
Reference in New Issue
Block a user