This commit is contained in:
2025-04-24 19:42:14 +03:00
parent 22cb685d90
commit 43acf825d7
15 changed files with 94 additions and 389 deletions

View File

@@ -1,85 +1,30 @@
ARG MAJOR_VERSION=7.0
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG BUILD_BASE_IMAGE=zabbix/zabbix-build-mysql:alpine-${ZBX_VERSION}
# ARG BUILD_FROM
ARG BUILD_FROM=ghcr.io/hassio-addons/base:16.1.0
FROM ${BUILD_BASE_IMAGE} AS builder
# FROM $BUILD_FROM
# FROM alpine:3.19
ARG BUILD_FROM=ghcr.io/hassio-addons/debian-base:7.8.2
# hadolint ignore=DL3006
FROM ${BUILD_FROM}
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
ARG MAJOR_VERSION=7.2
ARG ZABBIX_VERSION=${MAJOR_VERSION}.6
ARG ZABBIX_DEB_URL="https://repo.zabbix.com/zabbix/${MAJOR_VERSION}/release/debian/pool/main/z/zabbix-release"
ARG ZABBIX_DEB_PKG="zabbix-release_latest_${MAJOR_VERSION}+debian12_all.deb"
STOPSIGNAL SIGTERM
RUN apt-get update && \
apt-get install -y wget gnupg2 lsb-release && \
wget ${ZABBIX_DEB_URL}/${ZABBIX_DEB_PKG} -O /tmp/zabbix-release.deb && \
dpkg -i /tmp/zabbix-release.deb && \
apt-get update && \
apt-get install -y \
zabbix-agent2=1:${ZABBIX_VERSION}* \
smartmontools \
sudo \
iputils-ping && \
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/zabbix-release.deb
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}/src/go/bin/zabbix_agent2", "/usr/sbin/zabbix_agent2"]
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}/conf/zabbix_agentd.conf", "/etc/zabbix/zabbix_agent2.conf"]
LABEL \
org.opencontainers.image.title="Zabbix Agent2 Add-on" \
org.opencontainers.image.description="Zabbix Agent2 for monitoring Home Assistant and related components" \
org.opencontainers.image.url="https://www.zabbix.com" \
org.opencontainers.image.documentation="https://www.zabbix.com/documentation/current/manual/agent2"
# COPY run.sh /run.sh
COPY rootfs /
RUN set -eux && \
INSTALL_PKGS="bash \
tzdata \
pcre2 \
coreutils \
smartmontools \
sudo \
iputils" && \
apk add \
--no-cache \
--clean-protected \
${INSTALL_PKGS} && \
addgroup \
--system \
--gid 1995 \
zabbix && \
addgroup \
--system \
--gid 102 \
docker && \
adduser \
--system \
--gecos "Zabbix monitoring system" \
--disabled-password \
--uid 1997 \
--ingroup zabbix \
--shell /sbin/nologin \
--home /var/lib/zabbix/ \
zabbix && \
adduser zabbix docker && \
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
mkdir -p /etc/zabbix && \
mkdir -p /etc/zabbix/zabbix_agentd.d && \
mkdir -p /var/lib/zabbix && \
mkdir -p /var/lib/zabbix/enc && \
mkdir -p /var/lib/zabbix/modules && \
mkdir -p /var/lib/zabbix/buffer && \
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
chmod a+x /etc/services.d/zabbix_agent2/run && \
chmod a+x /etc/services.d/zabbix_agent2/finish && \
chmod a+x /run.sh
EXPOSE 10050/TCP
WORKDIR /var/lib/zabbix
# COPY run.sh /run.sh
# RUN chown --quiet -R zabbix:root /run.sh && chmod a+x /run.sh
# COPY ["docker-entrypoint.sh", "/usr/bin/"]
ENTRYPOINT ["/run.sh"]
CMD ["/run.sh"]
USER 1997
# CMD ["/usr/sbin/zabbix_agent2", "--foreground", "-c", "/config/zabbix_agent2.conf"]