Updated Ubuntu images

This commit is contained in:
Alexey Pustovalov
2020-04-28 21:22:44 +03:00
parent 48921eb897
commit 81be9d6ae5
25 changed files with 267 additions and 2823 deletions

View File

@ -1,42 +1,25 @@
FROM ubuntu:bionic
LABEL maintainer="Alexey Pustovalov <alexey.pustovalov@zabbix.com>"
ARG BUILD_DATE
ARG VCS_REF
LABEL org.opencontainers.image.title="Zabbix web-interface (Nginx, MySQL)" \
org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
org.opencontainers.image.vendor="Zabbix LLC" \
org.opencontainers.image.url="https://zabbix.com/" \
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
org.opencontainers.image.licenses="GPL v2.0"
ARG APT_FLAGS_COMMON="-y"
ARG APT_FLAGS_PERSISTENT="${APT_FLAGS_COMMON} --no-install-recommends"
ARG APT_FLAGS_DEV="${APT_FLAGS_COMMON} --no-install-recommends"
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 TERM=xterm \
ZBX_TYPE=frontend ZBX_DB_TYPE=mysql ZBX_OPT_TYPE=nginx
LABEL org.label-schema.name="zabbix-web-${ZBX_OPT_TYPE}-${ZBX_DB_TYPE}-ubuntu" \
org.label-schema.vendor="Zabbix LLC" \
org.label-schema.url="https://zabbix.com/" \
org.label-schema.description="Zabbix web-interface based on Nginx web server with MySQL 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 v2.0"
STOPSIGNAL SIGTERM
RUN set -eux && \
apt-get ${APT_FLAGS_COMMON} update && \
DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_PERSISTENT} install locales gnupg2 ca-certificates && \
locale-gen $LC_ALL && \
echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d && \
addgroup --system --quiet zabbix && \
addgroup --system --gid 1995 --quiet zabbix && \
adduser --quiet \
--system --disabled-login \
--ingroup zabbix \
--ingroup zabbix --ingroup root \
--uid 1997 \
--home /var/lib/zabbix/ \
--no-create-home \
zabbix && \
mkdir -p /etc/zabbix && \
mkdir -p /etc/zabbix/web && \
chown --quiet -R zabbix:root /etc/zabbix && \
apt-get ${APT_FLAGS_COMMON} update && \
apt-get -y update && \
NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \
found=''; \
for server in \
@ -51,8 +34,8 @@ RUN set -eux && \
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 https://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 \
apt-get -y update && \
DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
curl \
mysql-client \
nginx \
@ -66,30 +49,31 @@ RUN set -eux && \
php7.2-xml \
supervisor && \
rm -f /etc/nginx/conf.d/*.conf && \
DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_COMMON} purge \
rm -rf /var/cache/nginx/ && \
DEBIAN_FRONTEND=noninteractive apt-get -y purge \
wget && \
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/* && \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*
ARG MAJOR_VERSION=master
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ENV ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
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-web-${ZBX_OPT_TYPE}-${ZBX_DB_TYPE} --link mysql-server:mysql --link zabbix-server:zabbix-server -p 80:80 -d zabbix-web-${ZBX_OPT_TYPE}-${ZBX_DB_TYPE}:ubuntu-${ZBX_VERSION}"
ENV TERM=xterm ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
LABEL org.opencontainers.image.documentation="https://www.zabbix.com/documentation/${MAJOR_VERSION}/manual/installation/containers" \
org.opencontainers.image.version="${ZBX_VERSION}" \
org.opencontainers.image.source="${ZBX_SOURCES}"
COPY ["conf/etc/", "/etc/"]
RUN set -eux && \
apt-get ${APT_FLAGS_COMMON} update && \
DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_DEV} install \
apt-get -y update && \
DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
gettext \
git && \
git \
locales && \
cd /usr/share/ && \
git clone ${ZBX_SOURCES} --branch ${ZBX_VERSION} --depth 1 --single-branch zabbix-${ZBX_VERSION} && \
mkdir /usr/share/zabbix/ && \
@ -99,6 +83,8 @@ RUN set -eux && \
rm -f conf/zabbix.conf.php && \
rm -rf tests && \
./locale/make_mo.sh && \
ln -s "/etc/zabbix/web/zabbix.conf.php" "/usr/share/zabbix/conf/zabbix.conf.php" && \
./locale/make_mo.sh && \
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' | \
@ -107,25 +93,23 @@ RUN set -eux && \
dpkg-reconfigure locales && \
find /usr/share/zabbix/locale -name '*.po' | xargs rm -f && \
find /usr/share/zabbix/locale -name '*.sh' | xargs rm -f && \
DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_COMMON} purge \
chown --quiet -R zabbix:root /etc/zabbix/ /usr/share/zabbix/conf/ && \
chgrp -R 0 /etc/zabbix/ /usr/share/zabbix/conf/ && \
chmod -R g=u /etc/zabbix/ /usr/share/zabbix/conf/ && \
DEBIAN_FRONTEND=noninteractive apt-get -y purge \
gettext \
git && \
apt-get ${APT_FLAGS_COMMON} autoremove && \
apt-get ${APT_FLAGS_COMMON} clean && \
git \
locales && \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*
EXPOSE 80/TCP 443/TCP
EXPOSE 8080/TCP 8443/TCP
WORKDIR /usr/share/zabbix
VOLUME ["/etc/ssl/nginx"]
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 ["docker-entrypoint.sh", "/usr/bin/"]
ENTRYPOINT ["docker-entrypoint.sh"]

View File

@ -1,10 +1,10 @@
user www-data;
#user nginx;
worker_processes 5;
#worker_rlimit_nofile 256000;
worker_rlimit_nofile 256000;
error_log /dev/fd/2 warn;
error_log /dev/fd/2 error;
pid /var/run/nginx.pid;
pid /tmp/nginx.pid;
events {
worker_connections 5120;
@ -21,6 +21,13 @@ http {
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /dev/fd/1 main;
error_log /dev/fd/2 error;
client_body_temp_path /tmp/client_body 1 2;
proxy_temp_path /tmp/proxy 1 2;
fastcgi_temp_path /tmp/fastcgi 1 2;
uwsgi_temp_path /tmp/uwsgi 1 2;
scgi_temp_path /tmp/scgi 1 2;
client_body_timeout 5m;
send_timeout 5m;

View File

@ -1,17 +1,17 @@
; supervisor config file
[unix_http_server]
file = /var/run/supervisor.sock ; (the path to the socket file)
file = /tmp/supervisor.sock ; (the path to the socket file)
chmod = 0700 ; sockef file mode (default 0700)
username = zbx
password = password
[supervisord]
logfile = /dev/stdout ; (main log file;default $CWD/supervisord.log)
pidfile = /var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
pidfile = /tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir = /tmp ; ('AUTO' child log dir, default $TEMP)
critical = critical
user = root
;user = zabbix
logfile_maxbytes = 0
logfile_backupcount = 0
loglevel = info
@ -23,7 +23,7 @@ loglevel = info
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl = unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
serverurl = unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket
; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or

View File

@ -1,5 +1,5 @@
server {
listen 80;
listen 8080;
server_name zabbix;
index index.php;

View File

@ -1,5 +1,5 @@
server {
listen 443 ssl http2;
listen 8443 ssl http2;
server_name zabbix;
server_name_in_redirect off;

File diff suppressed because it is too large Load Diff