diff --git a/proxy-mysql/centos/Dockerfile b/proxy-mysql/centos/Dockerfile index fd8650d23..78e818100 100644 --- a/proxy-mysql/centos/Dockerfile +++ b/proxy-mysql/centos/Dockerfile @@ -45,6 +45,7 @@ RUN groupadd --system zabbix && \ yum ${YUM_FLAGS_PERSISTANT} install \ fping \ libcurl \ + libevent \ libxml2 \ mariadb \ net-snmp-libs \ @@ -73,6 +74,7 @@ RUN yum --quiet makecache && \ automake \ gcc \ libcurl-devel \ + libevent-devel \ libssh2-devel \ libxml2-devel \ make \ diff --git a/proxy-sqlite3/centos/Dockerfile b/proxy-sqlite3/centos/Dockerfile index ed4a82293..3d72a9690 100644 --- a/proxy-sqlite3/centos/Dockerfile +++ b/proxy-sqlite3/centos/Dockerfile @@ -45,6 +45,7 @@ RUN groupadd --system zabbix && \ yum ${YUM_FLAGS_PERSISTANT} install \ fping \ libcurl \ + libevent \ libxml2 \ net-snmp-libs \ OpenIPMI-libs \ @@ -72,6 +73,7 @@ RUN yum --quiet makecache && \ automake \ gcc \ libcurl-devel \ + libevent-devel \ libssh2-devel \ libxml2-devel \ make \ diff --git a/server-mysql/centos/Dockerfile b/server-mysql/centos/Dockerfile index a31cb9e31..7f3544a5e 100644 --- a/server-mysql/centos/Dockerfile +++ b/server-mysql/centos/Dockerfile @@ -47,6 +47,7 @@ RUN groupadd --system zabbix && \ fping \ iksemel \ libcurl \ + libevent \ libxml2 \ mariadb \ net-snmp-libs \ @@ -76,6 +77,7 @@ RUN yum --quiet makecache && \ gcc \ iksemel-devel \ libcurl-devel \ + libevent-devel \ libssh2-devel \ libxml2-devel \ make \ diff --git a/server-pgsql/centos/Dockerfile b/server-pgsql/centos/Dockerfile index 38a6248e3..7fe715c9f 100644 --- a/server-pgsql/centos/Dockerfile +++ b/server-pgsql/centos/Dockerfile @@ -48,6 +48,7 @@ RUN groupadd --system zabbix && \ fping \ iksemel \ libcurl \ + libevent \ libxml2 \ net-snmp-libs \ OpenIPMI-libs \ @@ -78,6 +79,7 @@ RUN yum --quiet makecache && \ gcc \ iksemel-devel \ libcurl-devel \ + libevent-devel \ libssh2-devel \ libxml2-devel \ make \ diff --git a/server-pgsql/centos/Dockerfile.orig b/server-pgsql/centos/Dockerfile.orig new file mode 100644 index 000000000..38a6248e3 --- /dev/null +++ b/server-pgsql/centos/Dockerfile.orig @@ -0,0 +1,151 @@ +FROM centos:centos7 +LABEL maintainer="Alexey Pustovalov " + +ARG BUILD_DATE +ARG VCS_REF + +ARG YUM_FLAGS_COMMON="--quiet -y" +ARG YUM_FLAGS_PERSISTANT="${YUM_FLAGS_COMMON}" +ARG YUM_FLAGS_DEV="${YUM_FLAGS_COMMON}" +ARG DB_TYPE=postgresql +ENV TERM=xterm +ENV MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL + +LABEL org.label-schema.name="zabbix-server-${DB_TYPE}-centos" \ + org.label-schema.vendor="Zabbix LLC" \ + org.label-schema.url="https://zabbix.com/" \ + org.label-schema.description="Zabbix server with PostgreSQL database support" \ + 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 2.0" + +STOPSIGNAL SIGTERM + +RUN groupadd --system zabbix && \ + adduser -r --shell /sbin/nologin \ + -g zabbix -G dialout \ + -d /var/lib/zabbix/ \ + 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-server-${DB_TYPE} && \ + yum ${YUM_FLAGS_COMMON} makecache && \ + yum ${YUM_FLAGS_DEV} install epel-release && \ + yum ${YUM_FLAGS_PERSISTANT} install \ + fping \ + iksemel \ + libcurl \ + libxml2 \ + net-snmp-libs \ + OpenIPMI-libs \ + openldap \ + openssl-libs \ + pcre \ + postgresql \ + postgresql-libs \ + supervisor \ + unixODBC && \ + yum ${YUM_FLAGS_PERSISTANT} clean all && \ + rm -rf /var/cache/yum/ + +ARG MAJOR_VERSION=4.0 +ARG ZBX_VERSION=${MAJOR_VERSION} +ARG ZBX_SOURCES=svn://svn.zabbix.com/trunk/ +ENV ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} DB_TYPE=${DB_TYPE} + +LABEL 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-server-${DB_TYPE} --link postgres-server:postgres -p 10051:10051 -d zabbix-server-${DB_TYPE}:centos-${ZBX_VERSION}" + +RUN yum --quiet makecache && \ + yum ${YUM_FLAGS_DEV} install \ + autoconf \ + automake \ + gcc \ + iksemel-devel \ + libcurl-devel \ + libssh2-devel \ + libxml2-devel \ + make \ + net-snmp-devel \ + OpenIPMI-devel \ + openldap-devel \ + postgresql-devel \ + subversion \ + unixODBC-devel && \ + cd /tmp/ && \ + svn --quiet export ${ZBX_SOURCES} zabbix-${ZBX_VERSION} 1>/dev/null && \ + cd /tmp/zabbix-${ZBX_VERSION} && \ + zabbix_revision=`svn info ${ZBX_SOURCES} |grep "Last Changed Rev"|awk '{print $4;}'` && \ + sed -i "s/{ZABBIX_REVISION}/$zabbix_revision/g" include/version.h && \ + ./bootstrap.sh 1>/dev/null && \ + 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-server \ + --with-${DB_TYPE} \ + --with-jabber \ + --with-ldap \ + --with-libcurl \ + --with-libxml2 \ + --with-net-snmp \ + --with-openipmi \ + --with-openssl \ + --with-ssh2 \ + --with-unixodbc \ + --enable-ipv6 \ + --silent && \ + make -j"$(nproc)" -s dbschema 1>/dev/null && \ + make -j"$(nproc)" -s 1>/dev/null && \ + cp src/zabbix_server/zabbix_server /usr/sbin/zabbix_server && \ + cp src/zabbix_get/zabbix_get /usr/bin/zabbix_get && \ + cp src/zabbix_sender/zabbix_sender /usr/bin/zabbix_sender && \ + cp conf/zabbix_server.conf /etc/zabbix/zabbix_server.conf && \ + chown --quiet -R zabbix:root /etc/zabbix && \ + cat database/${DB_TYPE}/schema.sql > database/${DB_TYPE}/create.sql && \ + cat database/${DB_TYPE}/images.sql >> database/${DB_TYPE}/create.sql && \ + cat database/${DB_TYPE}/data.sql >> database/${DB_TYPE}/create.sql && \ + gzip database/${DB_TYPE}/create.sql && \ + cp database/${DB_TYPE}/create.sql.gz /usr/share/doc/zabbix-server-${DB_TYPE}/ && \ + cd /tmp/ && \ + rm -rf /tmp/zabbix-${ZBX_VERSION}/ && \ + yum ${YUM_FLAGS_COMMON} history undo `yum history | sed -n 4p |column -t | cut -d' ' -f1` 1>/dev/null && \ + yum ${YUM_FLAGS_COMMON} clean all && \ + rm -rf /etc/udev/hwdb.bin && \ + rm -rf /var/cache/yum && \ + rm -rf /var/lib/yum/yumdb/* && \ + rm -rf /usr/lib/udev/hwdb.d/* && \ + rm -rf /root/.pki && \ + rm -rf /root/.subversion + +EXPOSE 10051/TCP + +WORKDIR /var/lib/zabbix + +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"] + +COPY ["conf/etc/supervisor/", "/etc/supervisor/"] +COPY ["docker-entrypoint.sh", "/usr/bin/"] + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["server", "postgresql"]