From 5d59c0a8d9f2bdbd6819a476989f0f1bbf9594be Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 May 2019 14:09:15 +0300 Subject: [PATCH] Fixed assets directory permissions --- snmptraps/alpine/Dockerfile | 1 - web-apache-mysql/alpine/Dockerfile | 1 + web-apache-mysql/centos/Dockerfile | 1 + web-apache-mysql/ubuntu/Dockerfile | 1 + web-apache-pgsql/alpine/Dockerfile | 1 + web-apache-pgsql/centos/Dockerfile | 1 + web-apache-pgsql/ubuntu/Dockerfile | 1 + web-nginx-mysql/alpine/Dockerfile | 1 + web-nginx-mysql/centos/Dockerfile | 1 + web-nginx-mysql/ubuntu/Dockerfile | 1 + web-nginx-pgsql/alpine/Dockerfile | 1 + web-nginx-pgsql/centos/Dockerfile | 1 + web-nginx-pgsql/ubuntu/Dockerfile | 1 + zabbix-appliance/alpine/Dockerfile | 1 + zabbix-appliance/centos/Dockerfile | 2 +- zabbix-appliance/ubuntu/Dockerfile | 1 + zabbix-appliance/ubuntu/Dockerfile.orig | 236 ++++++++++++++++++++++++ 17 files changed, 251 insertions(+), 2 deletions(-) create mode 100644 zabbix-appliance/ubuntu/Dockerfile.orig diff --git a/snmptraps/alpine/Dockerfile b/snmptraps/alpine/Dockerfile index 4b6a88d0f..22f644436 100644 --- a/snmptraps/alpine/Dockerfile +++ b/snmptraps/alpine/Dockerfile @@ -53,7 +53,6 @@ RUN addgroup zabbix && \ chown --quiet -R zabbix:root /var/lib/zabbix && \ cd /tmp/ && \ tar -zxvf snmptrapfmt_1.14+nmu1ubuntu2.tar.gz && \ - ls -lah && \ cd /tmp/snmptrapfmt-1.14+nmu1ubuntu1/ && \ patch -p1 < ./patches/makefile.patch && \ make -j"$(nproc)" -s && \ diff --git a/web-apache-mysql/alpine/Dockerfile b/web-apache-mysql/alpine/Dockerfile index 6851a6c64..24fe9667d 100644 --- a/web-apache-mysql/alpine/Dockerfile +++ b/web-apache-mysql/alpine/Dockerfile @@ -76,6 +76,7 @@ RUN apk add ${APK_FLAGS_DEV} --virtual build-dependencies \ rm -f conf/zabbix.conf.php && \ rm -rf tests && \ ./locale/make_mo.sh && \ + chown --quiet -R apache:apache /usr/share/zabbix/ && \ apk del ${APK_FLAGS_COMMON} --purge \ build-dependencies && \ rm -rf /var/cache/apk/* diff --git a/web-apache-mysql/centos/Dockerfile b/web-apache-mysql/centos/Dockerfile index 72350294e..5fd615429 100644 --- a/web-apache-mysql/centos/Dockerfile +++ b/web-apache-mysql/centos/Dockerfile @@ -79,6 +79,7 @@ RUN groupadd --system zabbix && \ cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \ cut -d"'" -f 2 | sort | \ xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \ + chown --quiet -R apache:apache /usr/share/zabbix && \ yum ${YUM_FLAGS_PERSISTANT} clean all && \ rm -rf /var/cache/yum/ diff --git a/web-apache-mysql/ubuntu/Dockerfile b/web-apache-mysql/ubuntu/Dockerfile index e3d68262c..40c785eae 100644 --- a/web-apache-mysql/ubuntu/Dockerfile +++ b/web-apache-mysql/ubuntu/Dockerfile @@ -84,6 +84,7 @@ RUN apt-get ${APT_FLAGS_COMMON} update && \ dpkg-reconfigure locales && \ find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \ find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \ + chown --quiet -R www-data:www-data /usr/share/zabbix && \ DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_COMMON} purge \ gettext \ ca-certificates \ diff --git a/web-apache-pgsql/alpine/Dockerfile b/web-apache-pgsql/alpine/Dockerfile index d7bdfadbe..62f68c612 100644 --- a/web-apache-pgsql/alpine/Dockerfile +++ b/web-apache-pgsql/alpine/Dockerfile @@ -75,6 +75,7 @@ RUN apk add ${APK_FLAGS_DEV} --virtual build-dependencies \ rm -f conf/zabbix.conf.php && \ rm -rf tests && \ ./locale/make_mo.sh && \ + chown --quiet -R apache:apache /usr/share/zabbix/ && \ apk del ${APK_FLAGS_COMMON} --purge \ build-dependencies && \ rm -rf /var/cache/apk/* diff --git a/web-apache-pgsql/centos/Dockerfile b/web-apache-pgsql/centos/Dockerfile index d821c68f3..6bc8a7b05 100644 --- a/web-apache-pgsql/centos/Dockerfile +++ b/web-apache-pgsql/centos/Dockerfile @@ -80,6 +80,7 @@ RUN groupadd --system zabbix && \ cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \ cut -d"'" -f 2 | sort | \ xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \ + chown --quiet -R apache:apache /usr/share/zabbix && \ yum ${YUM_FLAGS_PERSISTENT} clean all && \ rm -rf /var/cache/yum/ diff --git a/web-apache-pgsql/ubuntu/Dockerfile b/web-apache-pgsql/ubuntu/Dockerfile index b0833c230..bd06a91f1 100644 --- a/web-apache-pgsql/ubuntu/Dockerfile +++ b/web-apache-pgsql/ubuntu/Dockerfile @@ -93,6 +93,7 @@ RUN apt-get ${APT_FLAGS_COMMON} update && \ dpkg-reconfigure locales && \ find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \ find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \ + chown --quiet -R www-data:www-data /usr/share/zabbix && \ DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_COMMON} purge \ gettext \ patch \ diff --git a/web-nginx-mysql/alpine/Dockerfile b/web-nginx-mysql/alpine/Dockerfile index 8618659b1..bdef1ec06 100644 --- a/web-nginx-mysql/alpine/Dockerfile +++ b/web-nginx-mysql/alpine/Dockerfile @@ -77,6 +77,7 @@ RUN apk add ${APK_FLAGS_DEV} --virtual build-dependencies \ rm -f conf/zabbix.conf.php && \ rm -rf tests && \ ./locale/make_mo.sh && \ + chown --quiet -R nginx:nginx /usr/share/zabbix && \ apk del ${APK_FLAGS_COMMON} --purge \ build-dependencies && \ rm -rf /var/cache/apk/* diff --git a/web-nginx-mysql/centos/Dockerfile b/web-nginx-mysql/centos/Dockerfile index 99f0d9fcd..52e2c3f62 100644 --- a/web-nginx-mysql/centos/Dockerfile +++ b/web-nginx-mysql/centos/Dockerfile @@ -81,6 +81,7 @@ RUN groupadd --system zabbix && \ cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \ cut -d"'" -f 2 | sort | \ xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \ + chown --quiet -R nginx:nginx /usr/share/zabbix && \ rm -f /etc/php-fpm.d/www.conf && \ mkdir -p /var/lib/php/ && \ chown --quiet -R nginx:nginx /var/lib/php/ && \ diff --git a/web-nginx-mysql/ubuntu/Dockerfile b/web-nginx-mysql/ubuntu/Dockerfile index de5f3056c..829594647 100644 --- a/web-nginx-mysql/ubuntu/Dockerfile +++ b/web-nginx-mysql/ubuntu/Dockerfile @@ -105,6 +105,7 @@ RUN apt-get ${APT_FLAGS_COMMON} update && \ dpkg-reconfigure locales && \ find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \ find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \ + chown --quiet -R www-data:www-data /usr/share/zabbix && \ DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_COMMON} purge \ gettext \ ca-certificates \ diff --git a/web-nginx-pgsql/alpine/Dockerfile b/web-nginx-pgsql/alpine/Dockerfile index 2c5741d76..17b977fde 100644 --- a/web-nginx-pgsql/alpine/Dockerfile +++ b/web-nginx-pgsql/alpine/Dockerfile @@ -76,6 +76,7 @@ RUN apk add ${APK_FLAGS_DEV} --virtual build-dependencies \ rm -f conf/zabbix.conf.php && \ rm -rf tests && \ ./locale/make_mo.sh && \ + chown --quiet -R nginx:nginx /usr/share/zabbix && \ apk del ${APK_FLAGS_COMMON} --purge \ build-dependencies && \ rm -rf /var/cache/apk/* diff --git a/web-nginx-pgsql/centos/Dockerfile b/web-nginx-pgsql/centos/Dockerfile index 4541e4d44..a8e86fc35 100644 --- a/web-nginx-pgsql/centos/Dockerfile +++ b/web-nginx-pgsql/centos/Dockerfile @@ -79,6 +79,7 @@ RUN groupadd --system zabbix && \ cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \ cut -d"'" -f 2 | sort | \ xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \ + chown --quiet -R nginx:nginx /usr/share/zabbix && \ rm -f /etc/php-fpm.d/www.conf && \ mkdir -p /var/lib/php/ && \ chown --quiet -R nginx:nginx /var/lib/php/ && \ diff --git a/web-nginx-pgsql/ubuntu/Dockerfile b/web-nginx-pgsql/ubuntu/Dockerfile index b577c9ad6..9e60a3965 100644 --- a/web-nginx-pgsql/ubuntu/Dockerfile +++ b/web-nginx-pgsql/ubuntu/Dockerfile @@ -105,6 +105,7 @@ RUN apt-get ${APT_FLAGS_COMMON} update && \ dpkg-reconfigure locales && \ find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \ find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \ + chown --quiet -R www-data:www-data /usr/share/zabbix && \ DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_COMMON} purge \ gettext \ ca-certificates \ diff --git a/zabbix-appliance/alpine/Dockerfile b/zabbix-appliance/alpine/Dockerfile index faf8b48f0..a40b6bc7d 100644 --- a/zabbix-appliance/alpine/Dockerfile +++ b/zabbix-appliance/alpine/Dockerfile @@ -135,6 +135,7 @@ RUN addgroup zabbix && \ mkdir -p /var/lib/zabbix/ssl/keys && \ mkdir -p /var/lib/zabbix/ssl/ssl_ca && \ chown --quiet -R zabbix:root /var/lib/zabbix && \ + chown --quiet -R nginx:nginx /usr/share/zabbix && \ mkdir -p /usr/share/doc/zabbix-${ZBX_TYPE}-${ZBX_DB_TYPE}/ && \ apk update && \ apk add ${APK_FLAGS_PERSISTENT} \ diff --git a/zabbix-appliance/centos/Dockerfile b/zabbix-appliance/centos/Dockerfile index b26981e2a..1a8bfa84d 100644 --- a/zabbix-appliance/centos/Dockerfile +++ b/zabbix-appliance/centos/Dockerfile @@ -168,10 +168,10 @@ RUN groupadd --system zabbix && \ rm -f /etc/php-fpm.d/www.conf && \ mkdir -p /var/lib/php/ && \ chown --quiet -R nginx:nginx /var/lib/php/ && \ - ls -lah /usr/share/zabbix/ && \ cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \ cut -d"'" -f 2 | sort | \ xargs -I '{}' bash -c 'echo "{}" && localedef -c -i {} -f UTF-8 {}.UTF-8 2>/dev/null' && \ + chown --quiet -R nginx:nginx /usr/share/zabbix && \ yum ${YUM_FLAGS_PERSISTENT} clean all && \ rm -rf /var/cache/yum/ && \ chmod +x /sbin/tini diff --git a/zabbix-appliance/ubuntu/Dockerfile b/zabbix-appliance/ubuntu/Dockerfile index 3412cf608..7d14c8ddc 100644 --- a/zabbix-appliance/ubuntu/Dockerfile +++ b/zabbix-appliance/ubuntu/Dockerfile @@ -201,6 +201,7 @@ RUN apt-get ${APT_FLAGS_COMMON} update && \ cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \ cut -d"'" -f 2 | sort | \ xargs -I '{}' bash -c 'echo "{}.UTF-8 UTF-8" >> /var/lib/locales/supported.d/local' && \ + chown --quiet -R www-data:www-data /usr/share/zabbix && \ dpkg-reconfigure locales && \ apt-get ${APT_FLAGS_COMMON} autoremove && \ apt-get ${APT_FLAGS_COMMON} clean && \ diff --git a/zabbix-appliance/ubuntu/Dockerfile.orig b/zabbix-appliance/ubuntu/Dockerfile.orig new file mode 100644 index 000000000..3412cf608 --- /dev/null +++ b/zabbix-appliance/ubuntu/Dockerfile.orig @@ -0,0 +1,236 @@ +FROM ubuntu:bionic as builder + +ARG APT_FLAGS_COMMON="-y" +ARG APT_FLAGS_DEV="${APT_FLAGS_COMMON} --no-install-recommends" + +ARG MAJOR_VERSION=4.2 +ARG ZBX_VERSION=${MAJOR_VERSION}.1 +ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git +ENV ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \ + LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 TERM=xterm \ + MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \ + ZBX_TYPE=server ZBX_DB_TYPE=mysql ZBX_OPT_TYPE=nginx \ + MYSQL_ALLOW_EMPTY_PASSWORD=true ZBX_ADD_SERVER=true ZBX_ADD_WEB=true DB_SERVER_HOST=localhost MYSQL_USER=zabbix ZBX_ADD_JAVA_GATEWAY=true ZBX_JAVAGATEWAY_ENABLE=true ZBX_JAVAGATEWAY=localhost + +RUN apt-get ${APT_FLAGS_COMMON} update && \ + DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_DEV} install locales && \ + locale-gen $LC_ALL && \ + apt-get ${APT_FLAGS_COMMON} update && \ + DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_DEV} install \ + autoconf \ + automake \ + gcc \ + gettext \ + libc6-dev \ + libcurl4-openssl-dev \ + libevent-dev \ + libiksemel-dev \ + libldap2-dev \ + libmysqlclient-dev \ + libopenipmi-dev \ + libpcre3-dev \ + libsnmp-dev \ + libssh2-1-dev \ + libxml2-dev \ + make \ + openjdk-8-jdk \ + pkg-config \ + git \ + unixodbc-dev && \ + cd /tmp/ && \ + git clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch zabbix-${ZBX_VERSION} && \ + cd /tmp/zabbix-${ZBX_VERSION} && \ + zabbix_revision=`git rev-parse --short HEAD` && \ + sed -i "s/{ZABBIX_REVISION}/$zabbix_revision/g" include/version.h && \ + sed -i "s/{ZABBIX_REVISION}/$zabbix_revision/g" include/version.h && \ + sed -i "s/{ZABBIX_REVISION}/$zabbix_revision/g" src/zabbix_java/src/com/zabbix/gateway/GeneralInformation.java && \ + ./bootstrap.sh && \ + export CFLAGS="-fPIC -pie -Wl,-z,relro -Wl,-z,now" && \ + ./configure \ + --datadir=/usr/lib \ + --libdir=/usr/lib/zabbix \ + --prefix=/usr \ + --sysconfdir=/etc/zabbix \ + --enable-agent \ + --enable-${ZBX_TYPE} \ + --with-${ZBX_DB_TYPE} \ + --with-jabber \ + --with-ldap \ + --with-libcurl \ + --with-libxml2 \ + --enable-java \ + --with-net-snmp \ + --with-openipmi \ + --with-openssl \ + --with-ssh2 \ + --with-unixodbc \ + --enable-ipv6 \ + --silent && \ + make -j"$(nproc)" -s dbschema && \ + make -j"$(nproc)" -s && \ + cat database/${ZBX_DB_TYPE}/schema.sql > database/${ZBX_DB_TYPE}/create.sql && \ + cat database/${ZBX_DB_TYPE}/images.sql >> database/${ZBX_DB_TYPE}/create.sql && \ + cat database/${ZBX_DB_TYPE}/data.sql >> database/${ZBX_DB_TYPE}/create.sql && \ + gzip database/${ZBX_DB_TYPE}/create.sql && \ + rm -rf /tmp/zabbix-${ZBX_VERSION}/src/zabbix_java/lib/*.xml && \ + cd frontends/php/ && \ + rm -f conf/zabbix.conf.php && \ + rm -rf tests && \ + ./locale/make_mo.sh + +FROM ubuntu:bionic +LABEL maintainer="Alexey Pustovalov " + +ARG BUILD_DATE +ARG VCS_REF + +ARG APT_FLAGS_COMMON="-y" +ARG APT_FLAGS_PERSISTENT="${APT_FLAGS_COMMON} --no-install-recommends" +ARG MAJOR_VERSION=4.2 +ARG ZBX_VERSION=${MAJOR_VERSION}.1 +ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git +ENV ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \ + LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8TERM=xterm \ + MIBDIRS=/var/lib/snmp/mibs/ietf:/var/lib/snmp/mibs/iana:/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \ + ZBX_TYPE=server ZBX_DB_TYPE=mysql ZBX_OPT_TYPE=nginx \ + MYSQL_ALLOW_EMPTY_PASSWORD=true ZBX_ADD_SERVER=true ZBX_ADD_WEB=true DB_SERVER_HOST=localhost MYSQL_USER=zabbix ZBX_ADD_JAVA_GATEWAY=true ZBX_JAVAGATEWAY_ENABLE=true ZBX_JAVAGATEWAY=localhost +ENV TINI_VERSION v0.18.0 + +LABEL org.label-schema.name="zabbix-${ZBX_TYPE}-${ZBX_DB_TYPE}-ubuntu" \ + org.label-schema.vendor="Zabbix LLC" \ + org.label-schema.url="https://zabbix.com/" \ + org.label-schema.description="Zabbix appliance with MySQL database support and ${ZBX_OPT_TYPE} web-server" \ + org.label-schema.vcs-ref="${VCS_REF}" \ + org.label-schema.build-date="${BUILD_DATE}" \ + org.label-schema.schema-version="1.0" \ + org.label-schema.license="GPL v2.0" \ + org.label-schema.usage="https://www.zabbix.com/documentation/${MAJOR_VERSION}/manual/installation/containers" \ + org.label-schema.version="${ZBX_VERSION}" \ + org.label-schema.vcs-url="${ZBX_SOURCES}" \ + org.label-schema.docker.cmd="docker run --name zabbix-appliance -p 80:80 -p 10051:10051 -d zabbix-appliance:ubuntu-${ZBX_VERSION}" + +STOPSIGNAL SIGTERM + +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/src/zabbix_${ZBX_TYPE}/zabbix_${ZBX_TYPE} /usr/sbin/zabbix_${ZBX_TYPE} +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/src/zabbix_get/zabbix_get /usr/bin/zabbix_get +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/src/zabbix_sender/zabbix_sender /usr/bin/zabbix_sender +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/conf/zabbix_${ZBX_TYPE}.conf /etc/zabbix/zabbix_${ZBX_TYPE}.conf +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/database/${ZBX_DB_TYPE}/create.sql.gz /usr/share/doc/zabbix-${ZBX_TYPE}-${ZBX_DB_TYPE}/create.sql.gz + +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/src/zabbix_java/bin/ /usr/sbin/zabbix_java/bin/ +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/src/zabbix_java/lib/ /usr/sbin/zabbix_java/lib/ + +COPY --from=builder /tmp/zabbix-${ZBX_VERSION}/frontends/php/ /usr/share/zabbix/ +ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /sbin/tini + +RUN apt-get ${APT_FLAGS_COMMON} update && \ + DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_PERSISTENT} install locales gnupg2 && \ + locale-gen $LC_ALL && \ + echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d && \ + addgroup --system --quiet zabbix && \ + adduser --quiet \ + --system --disabled-login \ + --ingroup zabbix \ + --home /var/lib/zabbix/ \ + --no-create-home \ + zabbix && \ + mkdir -p /etc/zabbix && \ + mkdir -p /var/lib/zabbix && \ + mkdir -p /usr/lib/zabbix/alertscripts && \ + mkdir -p /var/lib/zabbix/enc && \ + 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 && \ + chown --quiet -R zabbix:root /var/lib/zabbix && \ + mkdir -p /usr/share/doc/zabbix-${ZBX_TYPE}-${ZBX_DB_TYPE}/ && \ + apt-get ${APT_FLAGS_COMMON} update && \ + NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \ + found=''; \ + for server in \ + ha.pool.sks-keyservers.net \ + hkp://keyserver.ubuntu.com:80 \ + hkp://p80.pool.sks-keyservers.net:80 \ + pgp.mit.edu \ + ; do \ + echo "Fetching GPG key $NGINX_GPGKEY from $server"; \ + apt-key adv --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; \ + done; \ + test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; \ + DISTRIB_CODENAME=$(/bin/bash -c 'source /etc/lsb-release && echo $DISTRIB_CODENAME') && \ + echo "deb http://nginx.org/packages/ubuntu/ $DISTRIB_CODENAME nginx" >> /etc/apt/sources.list.d/nginx.list && \ + apt-get ${APT_FLAGS_COMMON} update && \ + DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_PERSISTENT} install \ + iputils-ping \ + traceroute \ + curl \ + fping \ + libcurl4 \ + libevent-2.1 \ + libiksemel3 \ + libmysqlclient20 \ + libopenipmi0 \ + libpcre3 \ + libsnmp30 \ + libssh2-1 \ + libssl1.1 \ + libxml2 \ + mysql-client \ + mysql-server \ + nginx \ + openjdk-8-jre-headless \ + php7.2-bcmath \ + php7.2-fpm \ + php7.2-gd \ + php7.2-json \ + php7.2-ldap \ + php7.2-mbstring \ + php7.2-mysql \ + php7.2-xml \ + snmp-mibs-downloader \ + supervisor \ + ca-certificates \ + unixodbc && \ + mkdir -p /var/lib/locales/supported.d/ && \ + rm -f /var/lib/locales/supported.d/local && \ + cat /usr/share/zabbix/include/locales.inc.php | grep display | grep true | awk '{$1=$1};1' | \ + cut -d"'" -f 2 | sort | \ + xargs -I '{}' bash -c 'echo "{}.UTF-8 UTF-8" >> /var/lib/locales/supported.d/local' && \ + dpkg-reconfigure locales && \ + apt-get ${APT_FLAGS_COMMON} autoremove && \ + apt-get ${APT_FLAGS_COMMON} clean && \ + mkdir -p /var/lib/php7 && \ + chown --quiet -R www-data:www-data /var/lib/php7 && \ + rm -rf /var/cache/nginx/* && \ + rm -rf /var/lib/apt/lists/* && \ + chmod +x /sbin/tini + +EXPOSE 80/TCP 443/TCP 10051/TCP + +WORKDIR /var/lib/zabbix + +VOLUME ["/etc/ssl/nginx"] +VOLUME ["/usr/lib/zabbix/alertscripts", "/usr/lib/zabbix/externalscripts", "/var/lib/zabbix/enc", "/var/lib/zabbix/mibs", "/var/lib/zabbix/modules"] +VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/ssh_keys", "/var/lib/zabbix/ssl/certs", "/var/lib/zabbix/ssl/keys", "/var/lib/zabbix/ssl/ssl_ca"] +VOLUME ["/var/lib/mysql/"] + +COPY ["conf/etc/supervisor/", "/etc/supervisor/"] +COPY ["conf/etc/zabbix/nginx.conf", "/etc/zabbix/"] +COPY ["conf/etc/zabbix/nginx_ssl.conf", "/etc/zabbix/"] +COPY ["conf/etc/zabbix/web/zabbix.conf.php", "/etc/zabbix/web/"] +COPY ["conf/etc/nginx/nginx.conf", "/etc/nginx/"] +COPY ["conf/etc/php/7.2/fpm/conf.d/99-zabbix.ini", "/etc/php/7.2/fpm/conf.d/"] +COPY ["conf/etc/zabbix/zabbix_java_gateway_logback.xml", "/etc/zabbix/"] +COPY ["conf/usr/sbin/zabbix_java_gateway", "/usr/sbin/"] +COPY ["docker-entrypoint.sh", "/usr/bin/"] + +ENV ZBX_TYPE=appliance + +ENTRYPOINT ["/sbin/tini", "--"] + +CMD ["docker-entrypoint.sh"]