mirror of
https://github.com/zabbix/zabbix-docker.git
synced 2025-06-20 09:57:43 +02:00
Using env variables for zabbix user home and configuration files directory
This commit is contained in:
parent
9f333cd998
commit
5d75592816
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -28,7 +30,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN set -eux && \
|
RUN set -eux && \
|
||||||
INSTALL_PKGS="tini \
|
INSTALL_PKGS="tini \
|
||||||
@ -55,21 +57,21 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/
|
||||||
|
|
||||||
EXPOSE 10050/TCP
|
EXPOSE 10050/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agentd.conf
|
ZBX_AGENT_CONFIG=$ZABBIX_CONF_DIR/zabbix_agentd.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -185,7 +181,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
||||||
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -28,7 +30,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
set -eux && \
|
set -eux && \
|
||||||
@ -54,26 +56,27 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
--gid 1995 \
|
--gid 1995 \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
useradd \
|
useradd \
|
||||||
--system --comment "Zabbix monitoring system" \
|
--system \
|
||||||
|
--comment "Zabbix monitoring system" \
|
||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ZABBIX_CONF_DIR/ && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10050/TCP
|
EXPOSE 10050/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agentd.conf
|
ZBX_AGENT_CONFIG=$ZABBIX_CONF_DIR/zabbix_agentd.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -185,7 +181,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
||||||
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -61,22 +63,22 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ZABBIX_CONF_DIR/ && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10050/TCP
|
EXPOSE 10050/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agentd.conf
|
ZBX_AGENT_CONFIG=$ZABBIX_CONF_DIR/zabbix_agentd.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -185,7 +181,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
||||||
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
LABEL description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
maintainer="alexey.pustovalov@zabbix.com" \
|
maintainer="alexey.pustovalov@zabbix.com" \
|
||||||
@ -47,7 +49,7 @@ STOPSIGNAL SIGTERM
|
|||||||
COPY ["licenses", "/licenses"]
|
COPY ["licenses", "/licenses"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
set -eux && \
|
set -eux && \
|
||||||
@ -87,22 +89,22 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ZABBIX_CONF_DIR/ && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10050/TCP
|
EXPOSE 10050/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agentd.conf
|
ZBX_AGENT_CONFIG=$ZABBIX_CONF_DIR/zabbix_agentd.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -185,7 +181,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
||||||
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -28,7 +30,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/sbin/zabbix_agentd", "/usr/sbin/zabbix_agentd"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
||||||
set -eux && \
|
set -eux && \
|
||||||
@ -54,23 +56,23 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
apt-get -y autoremove && \
|
apt-get -y autoremove && \
|
||||||
apt-get -y clean
|
apt-get -y clean
|
||||||
|
|
||||||
EXPOSE 10050/TCP
|
EXPOSE 10050/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agentd.conf
|
ZBX_AGENT_CONFIG=$ZABBIX_CONF_DIR/zabbix_agentd.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -185,7 +181,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
update_config_var $ZBX_AGENT_CONFIG "LoadModulePath" "$ZABBIX_USER_HOME_DIR/modules/"
|
||||||
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
update_config_multiple_var $ZBX_AGENT_CONFIG "LoadModule" "${ZBX_LOADMODULE}"
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -28,7 +30,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN set -eux && \
|
RUN set -eux && \
|
||||||
INSTALL_PKGS="tini \
|
INSTALL_PKGS="tini \
|
||||||
@ -55,23 +57,23 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
mkdir -p /var/lib/zabbix/buffer && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/buffer && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/
|
||||||
|
|
||||||
EXPOSE 10050/TCP 31999/TCP
|
EXPOSE 10050/TCP 31999/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agent2.conf
|
ZBX_AGENT_CONFIG=${ZABBIX_CONF_DIR}/zabbix_agent2.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -193,7 +189,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -28,7 +30,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
set -eux && \
|
set -eux && \
|
||||||
@ -60,24 +62,24 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
mkdir -p /var/lib/zabbix/buffer && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/buffer && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10050/TCP 31999/TCP
|
EXPOSE 10050/TCP 31999/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agent2.conf
|
ZBX_AGENT_CONFIG=${ZABBIX_CONF_DIR}/zabbix_agent2.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -193,7 +189,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -28,7 +30,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -62,24 +64,24 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
mkdir -p /var/lib/zabbix/buffer && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/buffer && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10050/TCP 31999/TCP
|
EXPOSE 10050/TCP 31999/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agent2.conf
|
ZBX_AGENT_CONFIG=${ZABBIX_CONF_DIR}/zabbix_agent2.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -193,7 +189,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
LABEL description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
maintainer="alexey.pustovalov@zabbix.com" \
|
maintainer="alexey.pustovalov@zabbix.com" \
|
||||||
@ -47,7 +49,7 @@ STOPSIGNAL SIGTERM
|
|||||||
COPY ["licenses", "/licenses"]
|
COPY ["licenses", "/licenses"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
set -eux && \
|
set -eux && \
|
||||||
@ -89,24 +91,24 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
mkdir -p /var/lib/zabbix/buffer && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/buffer && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10050/TCP 31999/TCP
|
EXPOSE 10050/TCP 31999/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agent2.conf
|
ZBX_AGENT_CONFIG=${ZABBIX_CONF_DIR}/zabbix_agent2.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -193,7 +189,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
org.opencontainers.image.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
|
||||||
@ -28,7 +30,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/sbin/", "/usr/sbin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/agent2/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
||||||
set -eux && \
|
set -eux && \
|
||||||
@ -55,25 +57,25 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/smartctl" >> /etc/sudoers.d/zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/zabbix_agentd.d && \
|
mkdir -p ${ZABBIX_CONF_DIR}/zabbix_agentd.d && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
mkdir -p /var/lib/zabbix/buffer && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/buffer && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
apt-get -y autoremove && \
|
apt-get -y autoremove && \
|
||||||
apt-get -y clean
|
apt-get -y clean
|
||||||
|
|
||||||
EXPOSE 10050/TCP 31999/TCP
|
EXPOSE 10050/TCP 31999/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -16,10 +16,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -129,7 +125,7 @@ file_process_from_env() {
|
|||||||
|
|
||||||
prepare_zbx_agent_config() {
|
prepare_zbx_agent_config() {
|
||||||
echo "** Preparing Zabbix agent configuration file"
|
echo "** Preparing Zabbix agent configuration file"
|
||||||
ZBX_AGENT_CONFIG=$ZABBIX_ETC_DIR/zabbix_agent2.conf
|
ZBX_AGENT_CONFIG=${ZABBIX_CONF_DIR}/zabbix_agent2.conf
|
||||||
|
|
||||||
: ${ZBX_PASSIVESERVERS:=""}
|
: ${ZBX_PASSIVESERVERS:=""}
|
||||||
: ${ZBX_ACTIVESERVERS:=""}
|
: ${ZBX_ACTIVESERVERS:=""}
|
||||||
@ -193,7 +189,7 @@ prepare_zbx_agent_config() {
|
|||||||
# Please use include to enable Alias feature
|
# Please use include to enable Alias feature
|
||||||
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
# update_config_multiple_var $ZBX_AGENT_CONFIG "Alias" ${ZBX_ALIAS}
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
update_config_var $ZBX_AGENT_CONFIG "Timeout" "${ZBX_TIMEOUT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "Include" "/etc/zabbix/zabbix_agentd.d/*.conf"
|
update_config_var $ZBX_AGENT_CONFIG "Include" "${ZABBIX_CONF_DIR}/zabbix_agentd.d/*.conf"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
update_config_var $ZBX_AGENT_CONFIG "UnsafeUserParameters" "${ZBX_UNSAFEUSERPARAMETERS}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSConnect" "${ZBX_TLSCONNECT}"
|
||||||
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
update_config_var $ZBX_AGENT_CONFIG "TLSAccept" "${ZBX_TLSACCEPT}"
|
||||||
|
@ -13,7 +13,9 @@ ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
|||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
PATH=${PATH}:/usr/lib/jvm/default-jvm/bin/ JAVA_HOME=/usr/lib/jvm/default-jvm
|
PATH=${PATH}:/usr/lib/jvm/default-jvm/bin/ JAVA_HOME=/usr/lib/jvm/default-jvm \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
||||||
@ -47,19 +49,19 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix/ && \
|
mkdir -p ${ZABBIX_CONF_DIR}/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
||||||
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
||||||
mv /usr/sbin/zabbix_java/lib/logback-console.xml /etc/zabbix/zabbix_java_gateway_logback.xml && \
|
mv /usr/sbin/zabbix_java/lib/logback-console.xml ${ZABBIX_CONF_DIR}/zabbix_java_gateway_logback.xml && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/sbin/zabbix_java/
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/
|
||||||
|
|
||||||
EXPOSE 10052/TCP
|
EXPOSE 10052/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
JAVA=${JAVA:-"/usr/bin/java"}
|
JAVA=${JAVA:-"/usr/bin/java"}
|
||||||
|
|
||||||
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
||||||
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=/etc/zabbix/zabbix_java_gateway_logback.xml"
|
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml"
|
||||||
|
|
||||||
cd /usr/sbin/zabbix_java
|
cd /usr/sbin/zabbix_java
|
||||||
|
|
||||||
|
@ -9,14 +9,10 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
set -o xtrace
|
set -o xtrace
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
|
|
||||||
prepare_java_gateway_config() {
|
prepare_java_gateway_config() {
|
||||||
echo "** Preparing Zabbix Java Gateway log configuration file"
|
echo "** Preparing Zabbix Java Gateway log configuration file"
|
||||||
|
|
||||||
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
|
ZBX_GATEWAY_CONFIG=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml
|
||||||
|
|
||||||
: ${ZBX_DEBUGLEVEL:="info"}
|
: ${ZBX_DEBUGLEVEL:="info"}
|
||||||
|
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
||||||
@ -51,21 +53,21 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix/ && \
|
mkdir -p ${ZABBIX_CONF_DIR}/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ && \
|
mkdir -p /usr/sbin/zabbix_java/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
||||||
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
||||||
mv /usr/sbin/zabbix_java/lib/logback-console.xml /etc/zabbix/zabbix_java_gateway_logback.xml && \
|
mv /usr/sbin/zabbix_java/lib/logback-console.xml ${ZABBIX_CONF_DIR}/zabbix_java_gateway_logback.xml && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10052/TCP
|
EXPOSE 10052/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
JAVA=${JAVA:-"/usr/bin/java"}
|
JAVA=${JAVA:-"/usr/bin/java"}
|
||||||
|
|
||||||
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
||||||
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=/etc/zabbix/zabbix_java_gateway_logback.xml"
|
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml"
|
||||||
|
|
||||||
cd /usr/sbin/zabbix_java
|
cd /usr/sbin/zabbix_java
|
||||||
|
|
||||||
|
@ -9,14 +9,10 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
set -o xtrace
|
set -o xtrace
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
|
|
||||||
prepare_java_gateway_config() {
|
prepare_java_gateway_config() {
|
||||||
echo "** Preparing Zabbix Java Gateway log configuration file"
|
echo "** Preparing Zabbix Java Gateway log configuration file"
|
||||||
|
|
||||||
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
|
ZBX_GATEWAY_CONFIG=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml
|
||||||
|
|
||||||
: ${ZBX_DEBUGLEVEL:="info"}
|
: ${ZBX_DEBUGLEVEL:="info"}
|
||||||
|
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
||||||
@ -52,21 +54,21 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix/ && \
|
mkdir -p ${ZABBIX_CONF_DIR}/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ && \
|
mkdir -p /usr/sbin/zabbix_java/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
||||||
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
||||||
mv /usr/sbin/zabbix_java/lib/logback-console.xml /etc/zabbix/zabbix_java_gateway_logback.xml && \
|
mv /usr/sbin/zabbix_java/lib/logback-console.xml ${ZABBIX_CONF_DIR}/zabbix_java_gateway_logback.xml && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10052/TCP
|
EXPOSE 10052/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
JAVA=${JAVA:-"/usr/bin/java"}
|
JAVA=${JAVA:-"/usr/bin/java"}
|
||||||
|
|
||||||
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
||||||
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=/etc/zabbix/zabbix_java_gateway_logback.xml"
|
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml"
|
||||||
|
|
||||||
cd /usr/sbin/zabbix_java
|
cd /usr/sbin/zabbix_java
|
||||||
|
|
||||||
|
@ -9,14 +9,10 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
set -o xtrace
|
set -o xtrace
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
|
|
||||||
prepare_java_gateway_config() {
|
prepare_java_gateway_config() {
|
||||||
echo "** Preparing Zabbix Java Gateway log configuration file"
|
echo "** Preparing Zabbix Java Gateway log configuration file"
|
||||||
|
|
||||||
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
|
ZBX_GATEWAY_CONFIG=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml
|
||||||
|
|
||||||
: ${ZBX_DEBUGLEVEL:="info"}
|
: ${ZBX_DEBUGLEVEL:="info"}
|
||||||
|
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
LABEL description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
||||||
maintainer="alexey.pustovalov@zabbix.com" \
|
maintainer="alexey.pustovalov@zabbix.com" \
|
||||||
@ -71,21 +73,21 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix/ && \
|
mkdir -p ${ZABBIX_CONF_DIR}/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ && \
|
mkdir -p /usr/sbin/zabbix_java/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
||||||
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
||||||
mv /usr/sbin/zabbix_java/lib/logback-console.xml /etc/zabbix/zabbix_java_gateway_logback.xml && \
|
mv /usr/sbin/zabbix_java/lib/logback-console.xml ${ZABBIX_CONF_DIR}/zabbix_java_gateway_logback.xml && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10052/TCP
|
EXPOSE 10052/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
JAVA=${JAVA:-"/usr/bin/java"}
|
JAVA=${JAVA:-"/usr/bin/java"}
|
||||||
|
|
||||||
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
||||||
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=/etc/zabbix/zabbix_java_gateway_logback.xml"
|
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml"
|
||||||
|
|
||||||
cd /usr/sbin/zabbix_java
|
cd /usr/sbin/zabbix_java
|
||||||
|
|
||||||
|
@ -9,14 +9,10 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
set -o xtrace
|
set -o xtrace
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
|
|
||||||
prepare_java_gateway_config() {
|
prepare_java_gateway_config() {
|
||||||
echo "** Preparing Zabbix Java Gateway log configuration file"
|
echo "** Preparing Zabbix Java Gateway log configuration file"
|
||||||
|
|
||||||
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
|
ZBX_GATEWAY_CONFIG=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml
|
||||||
|
|
||||||
: ${ZBX_DEBUGLEVEL:="info"}
|
: ${ZBX_DEBUGLEVEL:="info"}
|
||||||
|
|
||||||
|
@ -12,7 +12,9 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
org.opencontainers.image.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
|
||||||
@ -47,22 +49,22 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix/ && \
|
mkdir -p ${ZABBIX_CONF_DIR}/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ && \
|
mkdir -p /usr/sbin/zabbix_java/ && \
|
||||||
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
mkdir -p /usr/sbin/zabbix_java/ext_lib/ && \
|
||||||
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
rm -rf /usr/sbin/zabbix_java/lib/logback.xml && \
|
||||||
mv /usr/sbin/zabbix_java/lib/logback-console.xml /etc/zabbix/zabbix_java_gateway_logback.xml && \
|
mv /usr/sbin/zabbix_java/lib/logback-console.xml ${ZABBIX_CONF_DIR}/zabbix_java_gateway_logback.xml && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/sbin/zabbix_java/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/sbin/zabbix_java/ && \
|
||||||
apt-get -y autoremove && \
|
apt-get -y autoremove && \
|
||||||
apt-get -y clean
|
apt-get -y clean
|
||||||
|
|
||||||
EXPOSE 10052/TCP
|
EXPOSE 10052/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"]
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
JAVA=${JAVA:-"/usr/bin/java"}
|
JAVA=${JAVA:-"/usr/bin/java"}
|
||||||
|
|
||||||
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
JAVA_OPTIONS="-server $JAVA_OPTIONS"
|
||||||
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=/etc/zabbix/zabbix_java_gateway_logback.xml"
|
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml"
|
||||||
|
|
||||||
cd /usr/sbin/zabbix_java
|
cd /usr/sbin/zabbix_java
|
||||||
|
|
||||||
|
@ -9,14 +9,10 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
set -o xtrace
|
set -o xtrace
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
|
|
||||||
prepare_java_gateway_config() {
|
prepare_java_gateway_config() {
|
||||||
echo "** Preparing Zabbix Java Gateway log configuration file"
|
echo "** Preparing Zabbix Java Gateway log configuration file"
|
||||||
|
|
||||||
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
|
ZBX_GATEWAY_CONFIG=$ZABBIX_CONF_DIR/zabbix_java_gateway_logback.xml
|
||||||
|
|
||||||
: ${ZBX_DEBUGLEVEL:="info"}
|
: ${ZBX_DEBUGLEVEL:="info"}
|
||||||
|
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
||||||
|
|
||||||
RUN set -eux && \
|
RUN set -eux && \
|
||||||
@ -68,33 +70,33 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -353,7 +349,7 @@ create_db_schema_mysql() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -461,7 +457,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -74,34 +76,34 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -350,7 +346,7 @@ create_db_schema_mysql() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -458,7 +454,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
|||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED=""\
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
||||||
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
||||||
|
|
||||||
@ -75,34 +77,34 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -350,7 +346,7 @@ create_db_schema_mysql() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -458,7 +454,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -17,6 +17,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL description="Zabbix proxy with MySQL database support" \
|
LABEL description="Zabbix proxy with MySQL database support" \
|
||||||
@ -50,7 +52,7 @@ STOPSIGNAL SIGTERM
|
|||||||
COPY ["licenses", "/licenses"]
|
COPY ["licenses", "/licenses"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -106,35 +108,35 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -350,7 +346,7 @@ create_db_schema_mysql() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -458,7 +454,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
|||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/bin/fping"
|
ZBX_FPINGLOCATION="/usr/bin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/database/mysql/", "/usr/share/doc/zabbix-proxy-mysql/"]
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
||||||
@ -70,35 +72,35 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
mkdir -p /usr/share/doc/zabbix-proxy-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
apt-get -y autoremove && \
|
apt-get -y autoremove && \
|
||||||
apt-get -y clean
|
apt-get -y clean
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -350,7 +346,7 @@ create_db_schema_mysql() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -458,7 +454,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -30,7 +32,7 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
|
|||||||
STOPSIGNAL SIGTERM
|
STOPSIGNAL SIGTERM
|
||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
||||||
|
|
||||||
RUN set -eux && \
|
RUN set -eux && \
|
||||||
@ -65,33 +67,33 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/db_data && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/db_data && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
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/
|
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -130,7 +126,7 @@ file_process_from_env() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -161,10 +157,10 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "DBHost"
|
update_config_var $ZBX_CONFIG "DBHost"
|
||||||
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
||||||
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
||||||
else
|
else
|
||||||
node_name=$(uname -n)
|
node_name=$(uname -n)
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/$node_name.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/$node_name.sqlite"
|
||||||
fi
|
fi
|
||||||
update_config_var $ZBX_CONFIG "DBUser"
|
update_config_var $ZBX_CONFIG "DBUser"
|
||||||
update_config_var $ZBX_CONFIG "DBPort"
|
update_config_var $ZBX_CONFIG "DBPort"
|
||||||
@ -227,7 +223,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -30,7 +32,7 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
|
|||||||
STOPSIGNAL SIGTERM
|
STOPSIGNAL SIGTERM
|
||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -69,34 +71,34 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/db_data && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/db_data && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
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/ && \
|
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -130,7 +126,7 @@ file_process_from_env() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -161,10 +157,10 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "DBHost"
|
update_config_var $ZBX_CONFIG "DBHost"
|
||||||
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
||||||
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
||||||
else
|
else
|
||||||
node_name=$(uname -n)
|
node_name=$(uname -n)
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/$node_name.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/$node_name.sqlite"
|
||||||
fi
|
fi
|
||||||
update_config_var $ZBX_CONFIG "DBUser"
|
update_config_var $ZBX_CONFIG "DBUser"
|
||||||
update_config_var $ZBX_CONFIG "DBPort"
|
update_config_var $ZBX_CONFIG "DBPort"
|
||||||
@ -227,7 +223,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -30,7 +32,7 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
|
|||||||
STOPSIGNAL SIGTERM
|
STOPSIGNAL SIGTERM
|
||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
||||||
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
||||||
|
|
||||||
@ -71,34 +73,34 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/db_data && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/db_data && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
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/ && \
|
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -130,7 +126,7 @@ file_process_from_env() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -161,10 +157,10 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "DBHost"
|
update_config_var $ZBX_CONFIG "DBHost"
|
||||||
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
||||||
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
||||||
else
|
else
|
||||||
node_name=$(uname -n)
|
node_name=$(uname -n)
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/$node_name.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/$node_name.sqlite"
|
||||||
fi
|
fi
|
||||||
update_config_var $ZBX_CONFIG "DBUser"
|
update_config_var $ZBX_CONFIG "DBUser"
|
||||||
update_config_var $ZBX_CONFIG "DBPort"
|
update_config_var $ZBX_CONFIG "DBPort"
|
||||||
@ -227,7 +223,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -17,6 +17,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL description="Zabbix proxy with SQLite3 database support" \
|
LABEL description="Zabbix proxy with SQLite3 database support" \
|
||||||
@ -49,7 +51,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY ["licenses", "/licenses"]
|
COPY ["licenses", "/licenses"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -102,34 +104,34 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/db_data && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/db_data && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
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/ && \
|
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -130,7 +126,7 @@ file_process_from_env() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -161,10 +157,10 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "DBHost"
|
update_config_var $ZBX_CONFIG "DBHost"
|
||||||
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
||||||
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
||||||
else
|
else
|
||||||
node_name=$(uname -n)
|
node_name=$(uname -n)
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/$node_name.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/$node_name.sqlite"
|
||||||
fi
|
fi
|
||||||
update_config_var $ZBX_CONFIG "DBUser"
|
update_config_var $ZBX_CONFIG "DBUser"
|
||||||
update_config_var $ZBX_CONFIG "DBPort"
|
update_config_var $ZBX_CONFIG "DBPort"
|
||||||
@ -227,7 +223,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
|||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/bin/fping"
|
ZBX_FPINGLOCATION="/usr/bin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -30,7 +32,7 @@ LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zab
|
|||||||
STOPSIGNAL SIGTERM
|
STOPSIGNAL SIGTERM
|
||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/sbin/zabbix_proxy", "/usr/sbin/zabbix_proxy"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/proxy/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/", "/usr/bin/"]
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
||||||
@ -67,34 +69,34 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/db_data && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/db_data && \
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
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/ && \
|
|
||||||
apt-get -y autoremove
|
apt-get -y autoremove
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -15,10 +15,6 @@ fi
|
|||||||
: ${ZBX_SERVER_PORT:="10051"}
|
: ${ZBX_SERVER_PORT:="10051"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -130,7 +126,7 @@ file_process_from_env() {
|
|||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix proxy configuration file"
|
echo "** Preparing Zabbix proxy configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_proxy.conf
|
ZBX_CONFIG=${ZABBIX_CONF_DIR}/zabbix_proxy.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
update_config_var $ZBX_CONFIG "ProxyMode" "${ZBX_PROXYMODE}"
|
||||||
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
update_config_var $ZBX_CONFIG "Server" "${ZBX_SERVER_HOST}"
|
||||||
@ -161,10 +157,10 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "DBHost"
|
update_config_var $ZBX_CONFIG "DBHost"
|
||||||
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
: ${ZBX_USE_NODE_NAME_AS_DB_NAME:="false"}
|
||||||
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
if [ "${ZBX_USE_NODE_NAME_AS_DB_NAME,,}" == "false" ]; then
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/${ZBX_HOSTNAME:-"zabbix-proxy-sqlite3"}.sqlite"
|
||||||
else
|
else
|
||||||
node_name=$(uname -n)
|
node_name=$(uname -n)
|
||||||
update_config_var $ZBX_CONFIG "DBName" "/var/lib/zabbix/db_data/$node_name.sqlite"
|
update_config_var $ZBX_CONFIG "DBName" "${ZABBIX_USER_HOME_DIR}/db_data/$node_name.sqlite"
|
||||||
fi
|
fi
|
||||||
update_config_var $ZBX_CONFIG "DBUser"
|
update_config_var $ZBX_CONFIG "DBUser"
|
||||||
update_config_var $ZBX_CONFIG "DBPort"
|
update_config_var $ZBX_CONFIG "DBPort"
|
||||||
@ -227,7 +223,6 @@ update_zbx_config() {
|
|||||||
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnavailableDelay" "${ZBX_UNAVAILABLEDELAY}"
|
||||||
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
update_config_var $ZBX_CONFIG "UnreachableDelay" "${ZBX_UNREACHABLEDELAY}"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "AlertScriptsPath" "/usr/lib/zabbix/alertscripts"
|
|
||||||
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
update_config_var $ZBX_CONFIG "ExternalScripts" "/usr/lib/zabbix/externalscripts"
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
update_config_var $ZBX_CONFIG "FpingLocation" "${ZBX_FPINGLOCATION}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
||||||
|
|
||||||
RUN set -eux && \
|
RUN set -eux && \
|
||||||
@ -69,37 +71,37 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
adduser zabbix dialout && \
|
adduser zabbix dialout && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -10,10 +10,6 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -354,14 +350,14 @@ create_db_schema_mysql() {
|
|||||||
|
|
||||||
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -79,37 +81,37 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-G dialout \
|
-G dialout \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -10,10 +10,6 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -351,14 +347,14 @@ create_db_schema_mysql() {
|
|||||||
|
|
||||||
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
|||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED=""\
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
||||||
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
||||||
|
|
||||||
@ -81,37 +83,37 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-G dialout \
|
-G dialout \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /var/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -10,10 +10,6 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -347,14 +343,14 @@ create_db_schema_mysql() {
|
|||||||
|
|
||||||
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -17,6 +17,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL description="Zabbix server with MySQL database support" \
|
LABEL description="Zabbix server with MySQL database support" \
|
||||||
@ -50,7 +52,7 @@ STOPSIGNAL SIGTERM
|
|||||||
COPY ["licenses", "/licenses"]
|
COPY ["licenses", "/licenses"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -109,37 +111,37 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-G dialout \
|
-G dialout \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -10,10 +10,6 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -351,14 +347,14 @@ create_db_schema_mysql() {
|
|||||||
|
|
||||||
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/bin/fping"
|
ZBX_FPINGLOCATION="/usr/bin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/mysql/create.sql.gz", "/usr/share/doc/zabbix-server-mysql/create.sql.gz"]
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
||||||
@ -74,38 +76,38 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-G dialout \
|
-G dialout \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
mkdir -p /usr/share/doc/zabbix-server-mysql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
apt-get -y autoremove && \
|
apt-get -y autoremove && \
|
||||||
apt-get -y clean
|
apt-get -y clean
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -10,10 +10,6 @@ if [ "${DEBUG_MODE,,}" == "true" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -351,14 +347,14 @@ create_db_schema_mysql() {
|
|||||||
|
|
||||||
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
exec_sql_file "/usr/share/doc/zabbix-server-mysql/create.sql.gz"
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
||||||
|
|
||||||
RUN set -eux && \
|
RUN set -eux && \
|
||||||
@ -69,37 +71,37 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR}/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
adduser zabbix dialout && \
|
adduser zabbix dialout && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -13,10 +13,6 @@ fi
|
|||||||
: ${ENABLE_TIMESCALEDB:="false"}
|
: ${ENABLE_TIMESCALEDB:="false"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -379,14 +375,14 @@ create_db_schema_postgresql() {
|
|||||||
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
||||||
|
|
||||||
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
||||||
@ -78,37 +80,37 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-G dialout \
|
-G dialout \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR}/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -13,10 +13,6 @@ fi
|
|||||||
: ${ENABLE_TIMESCALEDB:="false"}
|
: ${ENABLE_TIMESCALEDB:="false"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -379,14 +375,14 @@ create_db_schema_postgresql() {
|
|||||||
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -14,7 +14,9 @@ ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
|||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED=""\
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
ZBX_FPINGLOCATION="/usr/sbin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="Zabbix server (PostgreSQL)" \
|
LABEL org.opencontainers.image.title="Zabbix server (PostgreSQL)" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
||||||
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
COPY ["conf/etc/yum.repos.d/oracle-epel-ol8.repo", "/etc/yum.repos.d/oracle-epel-ol8.repo"]
|
||||||
|
|
||||||
@ -78,37 +80,37 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-G dialout \
|
-G dialout \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR}/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -13,10 +13,6 @@ fi
|
|||||||
: ${ENABLE_TIMESCALEDB:="false"}
|
: ${ENABLE_TIMESCALEDB:="false"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -383,14 +379,14 @@ create_db_schema_postgresql() {
|
|||||||
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -15,6 +15,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
NMAP_PRIVILEGED="" \
|
NMAP_PRIVILEGED="" \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix" \
|
||||||
ZBX_FPINGLOCATION="/usr/bin/fping"
|
ZBX_FPINGLOCATION="/usr/bin/fping"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
@ -31,7 +33,7 @@ STOPSIGNAL SIGTERM
|
|||||||
|
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/sbin/zabbix_server", "/usr/sbin/zabbix_server"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/general/bin/*", "/usr/bin/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "/etc/zabbix/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/conf/", "${ZABBIX_CONF_DIR}/"]
|
||||||
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}-output/server/database/postgresql/", "/usr/share/doc/zabbix-server-postgresql/"]
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
||||||
@ -74,38 +76,38 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-G dialout \
|
-G dialout \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
chgrp zabbix /usr/bin/nmap && \
|
chgrp zabbix /usr/bin/nmap && \
|
||||||
setcap cap_net_raw+eip /usr/bin/nmap && \
|
setcap cap_net_raw+eip /usr/bin/nmap && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/dbscripts && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/enc_internal && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/export && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/modules && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssh_keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/certs && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/keys && \
|
||||||
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/ssl/ssl_ca && \
|
||||||
mkdir -p /usr/lib/zabbix/alertscripts && \
|
mkdir -p /usr/lib/zabbix/alertscripts && \
|
||||||
mkdir -p /usr/lib/zabbix/dbscripts && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc && \
|
|
||||||
mkdir -p /var/lib/zabbix/enc_internal && \
|
|
||||||
mkdir -p /var/lib/zabbix/export && \
|
|
||||||
mkdir -p /usr/lib/zabbix/externalscripts && \
|
mkdir -p /usr/lib/zabbix/externalscripts && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
|
||||||
mkdir -p /var/lib/zabbix/modules && \
|
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssh_keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/certs && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/keys && \
|
|
||||||
mkdir -p /var/lib/zabbix/ssl/ssl_ca && \
|
|
||||||
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
mkdir -p /usr/share/doc/zabbix-server-postgresql && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /var/lib/zabbix/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /var/lib/zabbix/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /var/lib/zabbix/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ ${ZABBIX_USER_HOME_DIR}/ && \
|
||||||
apt-get -y autoremove && \
|
apt-get -y autoremove && \
|
||||||
apt-get -y clean
|
apt-get -y clean
|
||||||
|
|
||||||
EXPOSE 10051/TCP
|
EXPOSE 10051/TCP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix
|
WORKDIR ${ZABBIX_USER_HOME_DIR}
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/export"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"]
|
||||||
|
|
||||||
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
COPY ["docker-entrypoint.sh", "/usr/bin/"]
|
||||||
|
|
||||||
|
@ -13,10 +13,6 @@ fi
|
|||||||
: ${ENABLE_TIMESCALEDB:="false"}
|
: ${ENABLE_TIMESCALEDB:="false"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# User 'zabbix' home directory
|
|
||||||
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
# Internal directory for TLS related files, used when TLS*File specified as plain text values
|
||||||
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
ZABBIX_INTERNAL_ENC_DIR="${ZABBIX_USER_HOME_DIR}/enc_internal"
|
||||||
|
|
||||||
@ -379,14 +375,14 @@ create_db_schema_postgresql() {
|
|||||||
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
exec_sql_file "/usr/share/doc/zabbix-server-postgresql/timescaledb.sql"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apply_db_scripts "/var/lib/zabbix/dbscripts/*.sql"
|
apply_db_scripts "${ZABBIX_USER_HOME_DIR}/dbscripts/*.sql"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
update_zbx_config() {
|
update_zbx_config() {
|
||||||
echo "** Preparing Zabbix server configuration file"
|
echo "** Preparing Zabbix server configuration file"
|
||||||
|
|
||||||
ZBX_CONFIG=$ZABBIX_ETC_DIR/zabbix_server.conf
|
ZBX_CONFIG=$ZABBIX_CONF_DIR/zabbix_server.conf
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
update_config_var $ZBX_CONFIG "ListenIP" "${ZBX_LISTENIP}"
|
||||||
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
update_config_var $ZBX_CONFIG "ListenPort" "${ZBX_LISTENPORT}"
|
||||||
|
@ -7,8 +7,8 @@ ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
|||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
ZBX_SNMP_TRAP_USE_DNS=false \
|
||||||
ZBX_SNMP_TRAP_USE_DNS=false
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
||||||
@ -40,21 +40,21 @@ RUN set -eux && \
|
|||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--ingroup zabbix \
|
--ingroup zabbix \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
touch /var/lib/net-snmp/snmptrapd.conf && \
|
touch /var/lib/net-snmp/snmptrapd.conf && \
|
||||||
chown --quiet -R zabbix:root /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chown --quiet -R zabbix:root /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chgrp -R 0 /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chgrp -R 0 /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chmod -R g=u /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/
|
chmod -R g=u /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/
|
||||||
|
|
||||||
EXPOSE 1162/UDP
|
EXPOSE 1162/UDP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix/snmptraps/
|
WORKDIR ${ZABBIX_USER_HOME_DIR}/snmptraps/
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
||||||
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
||||||
|
@ -8,7 +8,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
||||||
ZBX_SNMP_TRAP_USE_DNS=false
|
ZBX_SNMP_TRAP_USE_DNS=false \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
||||||
@ -44,22 +45,22 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
touch /var/lib/net-snmp/snmptrapd.conf && \
|
touch /var/lib/net-snmp/snmptrapd.conf && \
|
||||||
chown --quiet -R zabbix:root /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chown --quiet -R zabbix:root /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chgrp -R 0 /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chgrp -R 0 /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chmod -R g=u /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chmod -R g=u /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
dnf -y clean all
|
dnf -y clean all
|
||||||
|
|
||||||
EXPOSE 1162/UDP
|
EXPOSE 1162/UDP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix/snmptraps/
|
WORKDIR ${ZABBIX_USER_HOME_DIR}/snmptraps/
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
||||||
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
||||||
|
@ -8,7 +8,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
||||||
ZBX_SNMP_TRAP_USE_DNS=false
|
ZBX_SNMP_TRAP_USE_DNS=false \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
||||||
@ -45,22 +46,22 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
touch /var/lib/net-snmp/snmptrapd.conf && \
|
touch /var/lib/net-snmp/snmptrapd.conf && \
|
||||||
chown --quiet -R zabbix:root /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chown --quiet -R zabbix:root /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chgrp -R 0 /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chgrp -R 0 /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chmod -R g=u /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chmod -R g=u /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 1162/UDP
|
EXPOSE 1162/UDP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix/snmptraps/
|
WORKDIR ${ZABBIX_USER_HOME_DIR}/snmptraps/
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
||||||
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
||||||
|
@ -10,7 +10,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
||||||
ZBX_SNMP_TRAP_USE_DNS=false
|
ZBX_SNMP_TRAP_USE_DNS=false \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
||||||
|
|
||||||
LABEL description="Zabbix SNMP traps receiver" \
|
LABEL description="Zabbix SNMP traps receiver" \
|
||||||
maintainer="alexey.pustovalov@zabbix.com" \
|
maintainer="alexey.pustovalov@zabbix.com" \
|
||||||
@ -67,22 +68,22 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
touch /var/lib/net-snmp/snmptrapd.conf && \
|
touch /var/lib/net-snmp/snmptrapd.conf && \
|
||||||
chown --quiet -R zabbix:root /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chown --quiet -R zabbix:root /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chgrp -R 0 /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chgrp -R 0 /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chmod -R g=u /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chmod -R g=u /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
microdnf -y clean all
|
microdnf -y clean all
|
||||||
|
|
||||||
EXPOSE 1162/UDP
|
EXPOSE 1162/UDP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix/snmptraps/
|
WORKDIR ${ZABBIX_USER_HOME_DIR}/snmptraps/
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
||||||
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
||||||
|
@ -8,7 +8,8 @@ ENV TERM=xterm \
|
|||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
|
||||||
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
ZBX_SNMP_TRAP_DATE_FORMAT=+%Y%m%d.%H%M%S ZBX_SNMP_TRAP_FORMAT=" " \
|
||||||
ZBX_SNMP_TRAP_USE_DNS=false
|
ZBX_SNMP_TRAP_USE_DNS=false \
|
||||||
|
ZABBIX_USER_HOME_DIR="/var/lib/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
org.opencontainers.image.description="Zabbix SNMP traps receiver" \
|
||||||
@ -42,21 +43,21 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
-g zabbix \
|
-g zabbix \
|
||||||
--uid 1997 \
|
--uid 1997 \
|
||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir ${ZABBIX_USER_HOME_DIR} \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
download-mibs && \
|
download-mibs && \
|
||||||
mkdir -p /var/lib/zabbix && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR} && \
|
||||||
mkdir -p /var/lib/zabbix/snmptraps && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/snmptraps && \
|
||||||
mkdir -p /var/lib/zabbix/mibs && \
|
mkdir -p ${ZABBIX_USER_HOME_DIR}/mibs && \
|
||||||
chown --quiet -R zabbix:root /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chown --quiet -R zabbix:root /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chgrp -R 0 /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/ && \
|
chgrp -R 0 /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/ && \
|
||||||
chmod -R g=u /etc/snmp/ /var/lib/zabbix/ /var/tmp/ /var/run/
|
chmod -R g=u /etc/snmp/ ${ZABBIX_USER_HOME_DIR}/ /var/tmp/ /var/run/
|
||||||
|
|
||||||
EXPOSE 1162/UDP
|
EXPOSE 1162/UDP
|
||||||
|
|
||||||
WORKDIR /var/lib/zabbix/snmptraps/
|
WORKDIR ${ZABBIX_USER_HOME_DIR}/snmptraps/
|
||||||
|
|
||||||
VOLUME ["/var/lib/zabbix/snmptraps"]
|
VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps"]
|
||||||
|
|
||||||
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
COPY ["conf/etc/logrotate.d/zabbix_snmptraps", "/etc/logrotate.d/"]
|
||||||
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
COPY ["conf/etc/snmp/snmptrapd.conf", "/etc/snmp/"]
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
||||||
@ -73,9 +74,9 @@ RUN set -eux && \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f "/etc/apache2/conf.d/default.conf" && \
|
rm -f "/etc/apache2/conf.d/default.conf" && \
|
||||||
rm -f "/etc/apache2/conf.d/ssl.conf" && \
|
rm -f "/etc/apache2/conf.d/ssl.conf" && \
|
||||||
sed -ri \
|
sed -ri \
|
||||||
@ -93,11 +94,11 @@ RUN set -eux && \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/apache2/ /etc/php7/ && \
|
chown --quiet -R zabbix:root /etc/apache2/ /etc/php7/ && \
|
||||||
chgrp -R 0 /etc/apache2/ /etc/php7/ && \
|
chgrp -R 0 /etc/apache2/ /etc/php7/ && \
|
||||||
chmod -R g=u /etc/apache2/ /etc/php7/
|
chmod -R g=u /etc/apache2/ /etc/php7/
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -138,16 +136,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR=/etc/apache2/conf.d
|
APACHE_SITES_DIR=/etc/apache2/conf.d
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -207,12 +205,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
||||||
@ -71,9 +72,9 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f "/etc/httpd/conf.d/default.conf" && \
|
rm -f "/etc/httpd/conf.d/default.conf" && \
|
||||||
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
||||||
rm -f /etc/php-fpm.d/www.conf && \
|
rm -f /etc/php-fpm.d/www.conf && \
|
||||||
@ -88,14 +89,14 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -138,16 +136,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR=/etc/httpd/conf.d
|
APACHE_SITES_DIR=/etc/httpd/conf.d
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -223,12 +221,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
||||||
@ -73,9 +74,9 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f "/etc/httpd/conf.d/default.conf" && \
|
rm -f "/etc/httpd/conf.d/default.conf" && \
|
||||||
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
||||||
rm -f /etc/php-fpm.d/www.conf && \
|
rm -f /etc/php-fpm.d/www.conf && \
|
||||||
@ -90,14 +91,14 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -138,16 +136,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR=/etc/httpd/conf.d
|
APACHE_SITES_DIR=/etc/httpd/conf.d
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -223,12 +221,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
|
||||||
@ -62,9 +63,9 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f /etc/apache2/sites-available/* && \
|
rm -f /etc/apache2/sites-available/* && \
|
||||||
rm -f /etc/apache2/sites-enabled/* && \
|
rm -f /etc/apache2/sites-enabled/* && \
|
||||||
/usr/sbin/a2enmod ssl && \
|
/usr/sbin/a2enmod ssl && \
|
||||||
@ -86,17 +87,17 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
mkdir -p /var/lib/locales/supported.d/ && \
|
mkdir -p /var/lib/locales/supported.d/ && \
|
||||||
rm -f /var/lib/locales/supported.d/local && \
|
rm -f /var/lib/locales/supported.d/local && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}.UTF-8 UTF-8" >> /var/lib/locales/supported.d/local' && \
|
xargs -I '{}' bash -c 'echo "{}.UTF-8 UTF-8" >> /var/lib/locales/supported.d/local' && \
|
||||||
dpkg-reconfigure locales && \
|
dpkg-reconfigure locales && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/apache2/ /etc/php/7.4/ && \
|
chown --quiet -R zabbix:root /etc/apache2/ /etc/php/7.4/ && \
|
||||||
chgrp -R 0 /etc/apache2/ /etc/php/7.4/ && \
|
chgrp -R 0 /etc/apache2/ /etc/php/7.4/ && \
|
||||||
chmod -R g=u /etc/apache2/ /etc/php/7.4/ && \
|
chmod -R g=u /etc/apache2/ /etc/php/7.4/ && \
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -138,16 +136,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR="/etc/apache2/sites-enabled"
|
APACHE_SITES_DIR="/etc/apache2/sites-enabled"
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -207,12 +205,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
||||||
@ -72,9 +73,9 @@ RUN set -eux && \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f "/etc/apache2/conf.d/default.conf" && \
|
rm -f "/etc/apache2/conf.d/default.conf" && \
|
||||||
rm -f "/etc/apache2/conf.d/ssl.conf" && \
|
rm -f "/etc/apache2/conf.d/ssl.conf" && \
|
||||||
sed -ri \
|
sed -ri \
|
||||||
@ -92,11 +93,11 @@ RUN set -eux && \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/apache2/ /etc/php7/ && \
|
chown --quiet -R zabbix:root /etc/apache2/ /etc/php7/ && \
|
||||||
chgrp -R 0 /etc/apache2/ /etc/php7/ && \
|
chgrp -R 0 /etc/apache2/ /etc/php7/ && \
|
||||||
chmod -R g=u /etc/apache2/ /etc/php7/
|
chmod -R g=u /etc/apache2/ /etc/php7/
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -137,16 +135,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR=/etc/apache2/conf.d
|
APACHE_SITES_DIR=/etc/apache2/conf.d
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -206,12 +204,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
||||||
@ -71,9 +72,9 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f "/etc/httpd/conf.d/default.conf" && \
|
rm -f "/etc/httpd/conf.d/default.conf" && \
|
||||||
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
||||||
rm -f /etc/php-fpm.d/www.conf && \
|
rm -f /etc/php-fpm.d/www.conf && \
|
||||||
@ -88,14 +89,14 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -137,16 +135,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR=/etc/httpd/conf.d
|
APACHE_SITES_DIR=/etc/httpd/conf.d
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -222,12 +220,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
||||||
@ -72,9 +73,9 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f "/etc/httpd/conf.d/default.conf" && \
|
rm -f "/etc/httpd/conf.d/default.conf" && \
|
||||||
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
rm -f "/etc/httpd/conf.d/ssl.conf" && \
|
||||||
rm -f /etc/php-fpm.d/www.conf && \
|
rm -f /etc/php-fpm.d/www.conf && \
|
||||||
@ -89,14 +90,14 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chown --quiet -R zabbix:root /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chgrp -R 0 /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
chmod -R g=u /etc/httpd/ /etc/php-fpm.d/ /etc/php-fpm.conf && \
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -137,16 +135,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR=/etc/httpd/conf.d
|
APACHE_SITES_DIR=/etc/httpd/conf.d
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -222,12 +220,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
|
||||||
@ -62,9 +63,9 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
rm -f /etc/apache2/sites-available/* && \
|
rm -f /etc/apache2/sites-available/* && \
|
||||||
rm -f /etc/apache2/sites-enabled/* && \
|
rm -f /etc/apache2/sites-enabled/* && \
|
||||||
/usr/sbin/a2enmod ssl && \
|
/usr/sbin/a2enmod ssl && \
|
||||||
@ -86,17 +87,17 @@ RUN --mount=type=cache,target=/var/lib/apt/,sharing=locked \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
mkdir -p /var/lib/locales/supported.d/ && \
|
mkdir -p /var/lib/locales/supported.d/ && \
|
||||||
rm -f /var/lib/locales/supported.d/local && \
|
rm -f /var/lib/locales/supported.d/local && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}.UTF-8 UTF-8" >> /var/lib/locales/supported.d/local' && \
|
xargs -I '{}' bash -c 'echo "{}.UTF-8 UTF-8" >> /var/lib/locales/supported.d/local' && \
|
||||||
dpkg-reconfigure locales && \
|
dpkg-reconfigure locales && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/apache2/ /etc/php/7.4/ && \
|
chown --quiet -R zabbix:root /etc/apache2/ /etc/php/7.4/ && \
|
||||||
chgrp -R 0 /etc/apache2/ /etc/php/7.4/ && \
|
chgrp -R 0 /etc/apache2/ /etc/php/7.4/ && \
|
||||||
chmod -R g=u /etc/apache2/ /etc/php/7.4/ && \
|
chmod -R g=u /etc/apache2/ /etc/php/7.4/ && \
|
||||||
|
@ -21,8 +21,6 @@ fi
|
|||||||
: ${PHP_TZ:="Europe/Riga"}
|
: ${PHP_TZ:="Europe/Riga"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Apache main configuration file
|
# Apache main configuration file
|
||||||
@ -137,16 +135,16 @@ prepare_web_server() {
|
|||||||
APACHE_SITES_DIR="/etc/apache2/sites-enabled"
|
APACHE_SITES_DIR="/etc/apache2/sites-enabled"
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache.conf" "$APACHE_SITES_DIR/zabbix.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
if [ -f "/etc/ssl/apache2/ssl.crt" ] && [ -f "/etc/ssl/apache2/ssl.key" ]; then
|
||||||
echo "** Adding Zabbix virtual host (HTTPS)"
|
echo "** Adding Zabbix virtual host (HTTPS)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/apache_ssl.conf" "$APACHE_SITES_DIR/zabbix_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -210,12 +208,12 @@ prepare_zbx_web_config() {
|
|||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache.conf"
|
"$ZABBIX_CONF_DIR/apache.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/apache_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/apache_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/apache_ssl.conf"
|
"$ZABBIX_CONF_DIR/apache_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
|
||||||
@ -74,9 +75,9 @@ RUN set -eux && \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home /var/lib/zabbix/ \
|
--home /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
mkdir -p /var/lib/php/session && \
|
mkdir -p /var/lib/php/session && \
|
||||||
rm -rf /etc/php7/php-fpm.d/www.conf && \
|
rm -rf /etc/php7/php-fpm.d/www.conf && \
|
||||||
rm -f /etc/nginx/http.d/*.conf && \
|
rm -f /etc/nginx/http.d/*.conf && \
|
||||||
@ -88,11 +89,11 @@ RUN set -eux && \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/nginx/ /etc/php7/php-fpm.d/ /etc/php7/php-fpm.conf && \
|
chown --quiet -R zabbix:root /etc/nginx/ /etc/php7/php-fpm.d/ /etc/php7/php-fpm.conf && \
|
||||||
chgrp -R 0 /etc/nginx/ /etc/php7/php-fpm.d/ /etc/php7/php-fpm.conf && \
|
chgrp -R 0 /etc/nginx/ /etc/php7/php-fpm.d/ /etc/php7/php-fpm.conf && \
|
||||||
chmod -R g=u /etc/nginx/ /etc/php7/php-fpm.d/ /etc/php7/php-fpm.conf && \
|
chmod -R g=u /etc/nginx/ /etc/php7/php-fpm.d/ /etc/php7/php-fpm.conf && \
|
||||||
|
@ -24,8 +24,6 @@ fi
|
|||||||
: ${DAEMON_USER:="nginx"}
|
: ${DAEMON_USER:="nginx"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Nginx main configuration file
|
# Nginx main configuration file
|
||||||
@ -142,21 +140,21 @@ prepare_web_server() {
|
|||||||
NGINX_SSL_CONFIG="/etc/ssl/nginx"
|
NGINX_SSL_CONFIG="/etc/ssl/nginx"
|
||||||
|
|
||||||
if [ ! -f "/proc/net/if_inet6" ]; then
|
if [ ! -f "/proc/net/if_inet6" ]; then
|
||||||
sed -i '/listen \[::\]/d' "$ZABBIX_ETC_DIR/nginx.conf"
|
sed -i '/listen \[::\]/d' "$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
sed -i '/listen \[::\]/d' "$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
sed -i '/listen \[::\]/d' "$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/nginx.conf" "$NGINX_CONFD_DIR/nginx.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/nginx.conf" "$NGINX_CONFD_DIR/nginx.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$NGINX_SSL_CONFIG/ssl.crt" ] && [ -f "$NGINX_SSL_CONFIG/ssl.key" ] && [ -f "$NGINX_SSL_CONFIG/dhparam.pem" ]; then
|
if [ -f "$NGINX_SSL_CONFIG/ssl.crt" ] && [ -f "$NGINX_SSL_CONFIG/ssl.key" ] && [ -f "$NGINX_SSL_CONFIG/dhparam.pem" ]; then
|
||||||
echo "** Enable SSL support for Nginx"
|
echo "** Enable SSL support for Nginx"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/nginx_ssl.conf" "$NGINX_CONFD_DIR/nginx_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/nginx_ssl.conf" "$NGINX_CONFD_DIR/nginx_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -234,21 +232,21 @@ prepare_zbx_web_config() {
|
|||||||
FCGI_READ_TIMEOUT=$(expr ${ZBX_MAXEXECUTIONTIME} + 1)
|
FCGI_READ_TIMEOUT=$(expr ${ZBX_MAXEXECUTIONTIME} + 1)
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
|
|
||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
|
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
@ -259,10 +257,10 @@ prepare_zbx_web_config() {
|
|||||||
"$NGINX_CONF_FILE"
|
"$NGINX_CONF_FILE"
|
||||||
sed -ri \
|
sed -ri \
|
||||||
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
sed -ri \
|
sed -ri \
|
||||||
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${EXPOSE_WEB_SERVER_INFO:="on"}
|
: ${EXPOSE_WEB_SERVER_INFO:="on"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
|
||||||
@ -69,9 +70,9 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
mkdir -p /var/lib/php/session && \
|
mkdir -p /var/lib/php/session && \
|
||||||
rm -f /etc/nginx/conf.d/*.conf && \
|
rm -f /etc/nginx/conf.d/*.conf && \
|
||||||
rm -f /etc/php-fpm.d/www.conf && \
|
rm -f /etc/php-fpm.d/www.conf && \
|
||||||
@ -83,14 +84,14 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
chown --quiet -R zabbix:root /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
||||||
chgrp -R 0 /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
chgrp -R 0 /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
||||||
chmod -R g=u /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
chmod -R g=u /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
||||||
|
@ -24,8 +24,6 @@ fi
|
|||||||
: ${DAEMON_USER:="nginx"}
|
: ${DAEMON_USER:="nginx"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Nginx main configuration file
|
# Nginx main configuration file
|
||||||
@ -142,21 +140,21 @@ prepare_web_server() {
|
|||||||
NGINX_SSL_CONFIG="/etc/ssl/nginx"
|
NGINX_SSL_CONFIG="/etc/ssl/nginx"
|
||||||
|
|
||||||
if [ ! -f "/proc/net/if_inet6" ]; then
|
if [ ! -f "/proc/net/if_inet6" ]; then
|
||||||
sed -i '/listen \[::\]/d' "$ZABBIX_ETC_DIR/nginx.conf"
|
sed -i '/listen \[::\]/d' "$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
sed -i '/listen \[::\]/d' "$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
sed -i '/listen \[::\]/d' "$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/nginx.conf" "$NGINX_CONFD_DIR/nginx.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/nginx.conf" "$NGINX_CONFD_DIR/nginx.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$NGINX_SSL_CONFIG/ssl.crt" ] && [ -f "$NGINX_SSL_CONFIG/ssl.key" ] && [ -f "$NGINX_SSL_CONFIG/dhparam.pem" ]; then
|
if [ -f "$NGINX_SSL_CONFIG/ssl.crt" ] && [ -f "$NGINX_SSL_CONFIG/ssl.key" ] && [ -f "$NGINX_SSL_CONFIG/dhparam.pem" ]; then
|
||||||
echo "** Enable SSL support for Nginx"
|
echo "** Enable SSL support for Nginx"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/nginx_ssl.conf" "$NGINX_CONFD_DIR/nginx_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/nginx_ssl.conf" "$NGINX_CONFD_DIR/nginx_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -234,21 +232,21 @@ prepare_zbx_web_config() {
|
|||||||
FCGI_READ_TIMEOUT=$(expr ${ZBX_MAXEXECUTIONTIME} + 1)
|
FCGI_READ_TIMEOUT=$(expr ${ZBX_MAXEXECUTIONTIME} + 1)
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
|
|
||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
|
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
@ -259,10 +257,10 @@ prepare_zbx_web_config() {
|
|||||||
"$NGINX_CONF_FILE"
|
"$NGINX_CONF_FILE"
|
||||||
sed -ri \
|
sed -ri \
|
||||||
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
sed -ri \
|
sed -ri \
|
||||||
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${EXPOSE_WEB_SERVER_INFO:="on"}
|
: ${EXPOSE_WEB_SERVER_INFO:="on"}
|
||||||
|
@ -12,7 +12,8 @@ ARG ZBX_VERSION
|
|||||||
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
|
||||||
|
|
||||||
ENV TERM=xterm \
|
ENV TERM=xterm \
|
||||||
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
|
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
|
||||||
|
ZABBIX_CONF_DIR="/etc/zabbix"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
LABEL org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
|
||||||
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
|
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
|
||||||
@ -71,9 +72,9 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
--shell /sbin/nologin \
|
--shell /sbin/nologin \
|
||||||
--home-dir /var/lib/zabbix/ \
|
--home-dir /var/lib/zabbix/ \
|
||||||
zabbix && \
|
zabbix && \
|
||||||
mkdir -p /etc/zabbix && \
|
mkdir -p ${ZABBIX_CONF_DIR} && \
|
||||||
mkdir -p /etc/zabbix/web && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web && \
|
||||||
mkdir -p /etc/zabbix/web/certs && \
|
mkdir -p ${ZABBIX_CONF_DIR}/web/certs && \
|
||||||
mkdir -p /var/lib/php/session && \
|
mkdir -p /var/lib/php/session && \
|
||||||
rm -f /etc/nginx/conf.d/*.conf && \
|
rm -f /etc/nginx/conf.d/*.conf && \
|
||||||
rm -f /etc/php-fpm.d/www.conf && \
|
rm -f /etc/php-fpm.d/www.conf && \
|
||||||
@ -85,14 +86,14 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
|
|||||||
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
rm -f locale/add_new_language.sh locale/update_po.sh locale/make_mo.sh && \
|
||||||
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
|
||||||
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
|
||||||
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
|
||||||
ln -s "/etc/zabbix/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
ln -s "${ZABBIX_CONF_DIR}/web/maintenance.inc.php" "/usr/share/zabbix/conf/maintenance.inc.php" && \
|
||||||
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \
|
||||||
cut -d"'" -f 2 | sort | \
|
cut -d"'" -f 2 | sort | \
|
||||||
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \
|
||||||
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chown --quiet -R zabbix:root ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chgrp -R 0 ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
chmod -R g=u ${ZABBIX_CONF_DIR}/ /usr/share/zabbix/include/defines.inc.php /usr/share/zabbix/modules/ && \
|
||||||
chown --quiet -R zabbix:root /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
chown --quiet -R zabbix:root /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
||||||
chgrp -R 0 /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
chgrp -R 0 /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
||||||
chmod -R g=u /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
chmod -R g=u /etc/nginx/ /etc/php-fpm.d/ /etc/php-fpm.conf /var/log/nginx/ && \
|
||||||
|
@ -24,8 +24,6 @@ fi
|
|||||||
: ${DAEMON_USER:="nginx"}
|
: ${DAEMON_USER:="nginx"}
|
||||||
|
|
||||||
# Default directories
|
# Default directories
|
||||||
# Configuration files directory
|
|
||||||
ZABBIX_ETC_DIR="/etc/zabbix"
|
|
||||||
# Web interface www-root directory
|
# Web interface www-root directory
|
||||||
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
ZABBIX_WWW_ROOT="/usr/share/zabbix"
|
||||||
# Nginx main configuration file
|
# Nginx main configuration file
|
||||||
@ -142,21 +140,21 @@ prepare_web_server() {
|
|||||||
NGINX_SSL_CONFIG="/etc/ssl/nginx"
|
NGINX_SSL_CONFIG="/etc/ssl/nginx"
|
||||||
|
|
||||||
if [ ! -f "/proc/net/if_inet6" ]; then
|
if [ ! -f "/proc/net/if_inet6" ]; then
|
||||||
sed -i '/listen \[::\]/d' "$ZABBIX_ETC_DIR/nginx.conf"
|
sed -i '/listen \[::\]/d' "$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
sed -i '/listen \[::\]/d' "$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
sed -i '/listen \[::\]/d' "$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "** Adding Zabbix virtual host (HTTP)"
|
echo "** Adding Zabbix virtual host (HTTP)"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/nginx.conf" "$NGINX_CONFD_DIR/nginx.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/nginx.conf" "$NGINX_CONFD_DIR/nginx.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTP virtual host"
|
echo "**** Impossible to enable HTTP virtual host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$NGINX_SSL_CONFIG/ssl.crt" ] && [ -f "$NGINX_SSL_CONFIG/ssl.key" ] && [ -f "$NGINX_SSL_CONFIG/dhparam.pem" ]; then
|
if [ -f "$NGINX_SSL_CONFIG/ssl.crt" ] && [ -f "$NGINX_SSL_CONFIG/ssl.key" ] && [ -f "$NGINX_SSL_CONFIG/dhparam.pem" ]; then
|
||||||
echo "** Enable SSL support for Nginx"
|
echo "** Enable SSL support for Nginx"
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx_ssl.conf" ]; then
|
||||||
ln -sfT "$ZABBIX_ETC_DIR/nginx_ssl.conf" "$NGINX_CONFD_DIR/nginx_ssl.conf"
|
ln -sfT "$ZABBIX_CONF_DIR/nginx_ssl.conf" "$NGINX_CONFD_DIR/nginx_ssl.conf"
|
||||||
else
|
else
|
||||||
echo "**** Impossible to enable HTTPS virtual host"
|
echo "**** Impossible to enable HTTPS virtual host"
|
||||||
fi
|
fi
|
||||||
@ -234,21 +232,21 @@ prepare_zbx_web_config() {
|
|||||||
FCGI_READ_TIMEOUT=$(expr ${ZBX_MAXEXECUTIONTIME} + 1)
|
FCGI_READ_TIMEOUT=$(expr ${ZBX_MAXEXECUTIONTIME} + 1)
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
|
|
||||||
: ${HTTP_INDEX_FILE:="index.php"}
|
: ${HTTP_INDEX_FILE:="index.php"}
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
|
|
||||||
if [ -f "$ZABBIX_ETC_DIR/nginx_ssl.conf" ]; then
|
if [ -f "$ZABBIX_CONF_DIR/nginx_ssl.conf" ]; then
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
-e "s/{FCGI_READ_TIMEOUT}/${FCGI_READ_TIMEOUT}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
|
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
-e "s/{HTTP_INDEX_FILE}/${HTTP_INDEX_FILE}/g" \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
: ${ENABLE_WEB_ACCESS_LOG:="true"}
|
||||||
@ -259,10 +257,10 @@ prepare_zbx_web_config() {
|
|||||||
"$NGINX_CONF_FILE"
|
"$NGINX_CONF_FILE"
|
||||||
sed -ri \
|
sed -ri \
|
||||||
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
||||||
"$ZABBIX_ETC_DIR/nginx.conf"
|
"$ZABBIX_CONF_DIR/nginx.conf"
|
||||||
sed -ri \
|
sed -ri \
|
||||||
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
-e 's!^(\s*access_log).+\;!\1 off\;!g' \
|
||||||
"$ZABBIX_ETC_DIR/nginx_ssl.conf"
|
"$ZABBIX_CONF_DIR/nginx_ssl.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
: ${EXPOSE_WEB_SERVER_INFO:="on"}
|
: ${EXPOSE_WEB_SERVER_INFO:="on"}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user