Updated Ubuntu images

This commit is contained in:
Alexey Pustovalov
2020-04-29 00:29:25 +03:00
52 changed files with 1186 additions and 9927 deletions

View File

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

View File

@ -229,8 +229,6 @@ prepare_web_server() {
else
echo "**** Impossible to enable SSL support for Nginx. Certificates are missed."
fi
ln -sf /dev/fd/2 /var/log/nginx/error.log
}
clear_deploy() {

View File

@ -1,42 +1,31 @@
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 && \
mkdir -p /var/lib/php/session && \
apt-get -y update && \
DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
gpg \
dirmngr \
gpg-agent \
ca-certificates && \
NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \
found=''; \
for server in \
@ -51,11 +40,12 @@ 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 \
locales \
php7.2-bcmath \
php7.2-fpm \
php7.2-gd \
@ -66,28 +56,28 @@ RUN set -eux && \
php7.2-xml \
supervisor && \
rm -f /etc/nginx/conf.d/*.conf && \
DEBIAN_FRONTEND=noninteractive apt-get ${APT_FLAGS_COMMON} 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/* && \
rm -rf /var/cache/nginx/ && \
rm -f /etc/php/7.2/fpm/pool.d/www.conf && \
DEBIAN_FRONTEND=noninteractive apt-get -y purge curl gpg dirmngr gpg-agent && \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*
ARG MAJOR_VERSION=5.0
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 && \
cd /usr/share/ && \
@ -99,6 +89,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,26 +99,30 @@ 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 && \
chown --quiet -R www-data:www-data /usr/share/zabbix && \
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/ && \
chown --quiet -R zabbix:root /etc/nginx/ /etc/php/7.2/fpm/php-fpm.conf /etc/php/7.2/fpm/pool.d/ && \
chgrp -R 0 /etc/nginx/ /etc/php/7.2/fpm/php-fpm.conf /etc/php/7.2/fpm/pool.d/ && \
chmod -R g=u /etc/nginx/ /etc/php/7.2/fpm/php-fpm.conf /etc/php/7.2/fpm/pool.d/ && \
chown --quiet -R zabbix:root /var/lib/php/session/ && \
chgrp -R 0 /var/lib/php/session/ && \
chmod -R g=u /var/lib/php/session/ && \
DEBIAN_FRONTEND=noninteractive apt-get -y purge \
gettext \
git && \
apt-get ${APT_FLAGS_COMMON} autoremove && \
apt-get ${APT_FLAGS_COMMON} clean && \
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/"]
USER 1997
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,9 +0,0 @@
max_execution_time=300
memory_limit=128M
post_max_size=16M
upload_max_filesize=2M
max_input_time=300
always_populate_raw_post_date=-1
max_input_vars=10000
; date.timezone=Europe/Riga
session.save_path=/var/lib/php7

View File

@ -0,0 +1,9 @@
include=/etc/php/7.2/fpm/pool.d/*.conf
[global]
pid = /tmp/php-fpm.pid
error_log = /dev/fd/2
daemonize = no

View File

@ -0,0 +1,25 @@
[zabbix]
listen = /tmp/php-fpm.sock
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /dev/fd/1
php_admin_value[error_log] = /dev/fd/2
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[max_execution_time]= 300
php_value[memory_limit]= 128M
php_value[post_max_size]= 16M
php_value[upload_max_filesize]= 2M
php_value[max_input_time]= 300
php_value[max_input_vars]= 10000
; php_value[date.timezone]= Europe/Riga

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;
@ -51,7 +51,7 @@ server {
}
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $webroot$fastcgi_script_name;

View File

@ -1,5 +1,5 @@
server {
listen 443 ssl http2;
listen 8443 ssl http2;
server_name zabbix;
server_name_in_redirect off;
@ -75,7 +75,7 @@ server {
}
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $webroot$fastcgi_script_name;

File diff suppressed because it is too large Load Diff