matter server
Some checks failed
ci/woodpecker/push/invoiceninja Pipeline failed
ci/woodpecker/push/snapcast Pipeline failed
ci/woodpecker/push/matter-server Pipeline was successful
ci/woodpecker/push/woodpecker-ci Pipeline was successful

This commit is contained in:
Neil Hanlon 2024-05-23 22:33:48 -04:00
parent bb7345f0c5
commit c510399a8c
4 changed files with 128 additions and 2 deletions

View File

@ -0,0 +1,33 @@
---
branches: main
pipeline:
snapcast:
image: woodpeckerci/plugin-docker-buildx
privileged: true
secrets: [repository_username, repository_password]
settings:
dockerfile: matter-server/Containerfile
platforms: linux/amd64,linux/arm64/v8
registry: git.shrug.pw
repo: git.shrug.pw/neil/containers/snapcast
tag: latest
pull_image: true
auto_tag: true
auto_labels: true
mtu: 1400
build_args:
- BUILD_FROM: ghcr.io/home-assistant-libs/python-matter-server:6.0.0
- BASHIO_VERSION: '0.14.3'
- TEMPIO_VERSION: '2021.09.0'
- S6_OVERLAY_VERSION: '3.1.5.0'
username:
from_secret: registry_username
password:
from_secret: registry_password
logins:
- registry: git.shrug.pw
username:
from_secret: registry_username
password:
from_secret: registry_password

View File

@ -2,7 +2,7 @@
branches: main
pipeline:
invoiceninja:
snapcast:
image: woodpeckerci/plugin-docker-buildx
privileged: true
secrets: [repository_username, repository_password]

View File

@ -0,0 +1,76 @@
ARG BUILD_FROM
FROM ${BUILD_FROM}
# Default ENV
ENV \
LANG="C.UTF-8" \
DEBIAN_FRONTEND="noninteractive" \
CURL_CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt" \
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/bash", "-o", "pipefail", "-c"]
# Build Args
ARG \
BASHIO_VERSION \
TEMPIO_VERSION \
S6_OVERLAY_VERSION
# Base system
WORKDIR /usr/src
ARG BUILD_ARCH
RUN \
set -x \
&& apt-get update && apt-get install -y --no-install-recommends \
bash \
jq \
tzdata \
curl \
ca-certificates \
xz-utils \
&& mkdir -p /usr/share/man/man1 \
\
&& 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 \
\
&& 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 \
\
&& 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 \
\
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /usr/src/*
# S6-Overlay
WORKDIR /root
ENTRYPOINT ["/init"]
COPY rootfs /

View File

@ -1,12 +1,29 @@
FROM debian:11
FROM debian:11 as snapserver
RUN dpkg --add-architecture armhf
RUN apt update
# Install deps for sever/web
RUN apt -y install curl
RUN curl -Lso /tmp/snapserver.deb https://github.com/badaix/snapcast/releases/download/v0.27.0/snapserver_0.27.0-1_armhf.deb
RUN apt -y install /tmp/snapserver.deb
RUN rm -fr /tmp/snapserver.deb
# # get snapweb
# RUN curl -Lso /tmp/snapweb.tar.gz https://github.com/badaix/snapweb/archive/refs/heads/react.tar.gz
# WORKDIR /tmp/
# RUN tar -xf snapweb.tar.gz
#
# # build snapweb
# WORKDIR /tmp/snapweb-react
# RUN npm ci
# RUN npm run build
COPY snapweb-react-build.tar.gz /tmp
RUN mkdir /usr/share/snapserver/snapweb-react
RUN tar -xf /tmp/snapweb-react-build.tar.gz -C /usr/share/snapserver/snapweb-react
RUN sed -i 's,/usr/share/snapserver/snapweb,/usr/share/snapserver/snapweb-react,' /etc/snapserver.conf
RUN mkdir /work
WORKDIR /work