63 lines
2.3 KiB
Docker
63 lines
2.3 KiB
Docker
FROM debian:bookworm-slim
|
|
LABEL maintainer="docker@ao-it.net"
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
## prepare requirements
|
|
RUN ["bash", "-exo", "pipefail", "-c", "\
|
|
apt update ; \
|
|
apt install -y wget gnupg ; \
|
|
wget -O - https://packages.icinga.com/icinga.key | \
|
|
gpg --dearmor -o /usr/share/keyrings/icinga-archive-keyring.gpg ; \
|
|
source /etc/os-release ; \
|
|
echo \"deb [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/debian icinga-${VERSION_CODENAME} main\" > /etc/apt/sources.list.d/${VERSION_CODENAME}-icinga.list ; \
|
|
echo \"deb-src [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/debian icinga-${VERSION_CODENAME} main\" >> /etc/apt/sources.list.d/${VERSION_CODENAME}-icinga.list ; \
|
|
apt clean all ; \
|
|
rm -vrf /var/lib/apt/lists/* "]
|
|
|
|
## install icinga2
|
|
RUN ["bash", "-exo", "pipefail", "-c", "\
|
|
apt update ; \
|
|
apt install -y icinga2 monitoring-plugins ; \
|
|
mkdir -p /run/icinga2 ; \
|
|
chown nagios: /run/icinga2 ; \
|
|
apt clean all ; \
|
|
rm -vrf /var/lib/apt/lists/* "]
|
|
|
|
## install easysnmp
|
|
# need for full-features (add maybe if need): libsnmp-dev snmp-mibs-downloader
|
|
ARG SOURCELIST_FILE="/etc/apt/sources.list.d/debian.sources"
|
|
RUN ["bash", "-exo", "pipefail", "-c", "\
|
|
sed -i 's|main|main non-free|g' $SOURCELIST_FILE ; \
|
|
apt update ; \
|
|
apt-get install -y python3-easysnmp ; \
|
|
apt clean all ; \
|
|
rm -vrf /var/lib/apt/lists/* "]
|
|
|
|
## create persistend data store
|
|
RUN ["bash", "-exo", "pipefail", "-c", "\
|
|
mkdir -p /data ; \
|
|
mkdir -p /data-init/etc/ ; \
|
|
mkdir -p /data-init/var/ ; \
|
|
mkdir -p /data-init/plugins ; \
|
|
mv /etc/icinga2 /data-init/etc/ ; \
|
|
mv /var/lib/icinga2 /data-init/var/ ; \
|
|
mv /usr/lib/nagios/plugins /data-init/ ; \
|
|
ln -vs /data/etc/icinga2 /etc/icinga2 ; \
|
|
ln -vs /data/var/icinga2 /var/lib/icinga2 ; \
|
|
ln -vs /data/plugins /usr/lib/nagios/plugins "]
|
|
|
|
## basic aliases
|
|
RUN ["bash", "-exo", "pipefail", "-c", "\
|
|
echo alias icinga2reload=\"'/usr/lib/icinga2/safe-reload /etc/default/icinga2'\" >> /root/.bashrc ; \
|
|
echo alias icinga2checkconfig=\"'icinga2 daemon -C -X'\" >> /root/.bashrc "]
|
|
|
|
COPY init.sh /root/init.sh
|
|
|
|
EXPOSE 5665
|
|
VOLUME ["/data"]
|
|
WORKDIR /data
|
|
USER root
|
|
|
|
## run init.sh always!
|
|
ENTRYPOINT [ "bash", "/root/init.sh" ]
|
|
CMD [ "/usr/sbin/icinga2", "daemon" ] |