diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 585ac1074..8796f8845 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -50,8 +50,6 @@ jobs: exclude: - os: centos build: agent2 - - os: ubuntu - build: agent2 runs-on: ubuntu-20.04 steps: diff --git a/README.md b/README.md index 4259e114e..1985cc3b8 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Please follow usage instructions of each Zabbix component image: > **Important information: Zabbix Docker Appliance has been decommissioned (except Red Hat edition) and will not be available for 3.0.31, 4.0.19, 4.4.7, 5.0.0 and newer releases. Please use a separate Docker images for each component instead of the all-in-one solution.** * [zabbix-agent](https://hub.docker.com/r/zabbix/zabbix-agent/) - Zabbix agent +* [zabbix-agent2](https://hub.docker.com/r/zabbix/zabbix-agent2/) - Zabbix agent 2 * [zabbix-server-mysql](https://hub.docker.com/r/zabbix/zabbix-server-mysql/) - Zabbix server with MySQL database support * [zabbix-server-pgsql](https://hub.docker.com/r/zabbix/zabbix-server-pgsql/) - Zabbix server with PostgreSQL database support * [zabbix-web-apache-mysql](https://hub.docker.com/r/zabbix/zabbix-web-apache-mysql/) - Zabbix web interface on Apache2 web server with MySQL database support diff --git a/agent/alpine/README.md b/agent/alpine/README.md index eb0a3f5b4..143597d19 100644 --- a/agent/alpine/README.md +++ b/agent/alpine/README.md @@ -14,10 +14,10 @@ Zabbix agent is deployed on a monitoring target to actively monitor local resour # Zabbix agent images -These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix agent are: +These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix agent are: - Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix agent 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix agent 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix agent 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/agent/alpine/docker-entrypoint.sh b/agent/alpine/docker-entrypoint.sh index 9c8fc5791..4306b3d9a 100755 --- a/agent/alpine/docker-entrypoint.sh +++ b/agent/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -136,7 +136,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}" : ${ZBX_PASSIVE_ALLOW:="true"} - if [ "$ZBX_PASSIVE_ALLOW" == "true" ]; then + if [ "${ZBX_PASSIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_PASSIVESERVERS' servers for passive checks" update_config_var $ZBX_AGENT_CONFIG "Server" "${ZBX_PASSIVESERVERS}" else @@ -148,7 +148,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "StartAgents" "${ZBX_STARTAGENTS}" : ${ZBX_ACTIVE_ALLOW:="true"} - if [ "$ZBX_ACTIVE_ALLOW" == "true" ]; then + if [ "${ZBX_ACTIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_ACTIVESERVERS' servers for active checks" update_config_var $ZBX_AGENT_CONFIG "ServerActive" "${ZBX_ACTIVESERVERS}" else diff --git a/agent/centos/README.md b/agent/centos/README.md index eb0a3f5b4..143597d19 100644 --- a/agent/centos/README.md +++ b/agent/centos/README.md @@ -14,10 +14,10 @@ Zabbix agent is deployed on a monitoring target to actively monitor local resour # Zabbix agent images -These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix agent are: +These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix agent are: - Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix agent 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix agent 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix agent 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/agent/centos/docker-entrypoint.sh b/agent/centos/docker-entrypoint.sh index 9c8fc5791..4306b3d9a 100755 --- a/agent/centos/docker-entrypoint.sh +++ b/agent/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -136,7 +136,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}" : ${ZBX_PASSIVE_ALLOW:="true"} - if [ "$ZBX_PASSIVE_ALLOW" == "true" ]; then + if [ "${ZBX_PASSIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_PASSIVESERVERS' servers for passive checks" update_config_var $ZBX_AGENT_CONFIG "Server" "${ZBX_PASSIVESERVERS}" else @@ -148,7 +148,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "StartAgents" "${ZBX_STARTAGENTS}" : ${ZBX_ACTIVE_ALLOW:="true"} - if [ "$ZBX_ACTIVE_ALLOW" == "true" ]; then + if [ "${ZBX_ACTIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_ACTIVESERVERS' servers for active checks" update_config_var $ZBX_AGENT_CONFIG "ServerActive" "${ZBX_ACTIVESERVERS}" else diff --git a/agent/rhel/README.md b/agent/rhel/README.md index eb0a3f5b4..143597d19 100644 --- a/agent/rhel/README.md +++ b/agent/rhel/README.md @@ -14,10 +14,10 @@ Zabbix agent is deployed on a monitoring target to actively monitor local resour # Zabbix agent images -These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix agent are: +These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix agent are: - Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix agent 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix agent 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix agent 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/agent/rhel/docker-entrypoint.sh b/agent/rhel/docker-entrypoint.sh index 9c8fc5791..4306b3d9a 100755 --- a/agent/rhel/docker-entrypoint.sh +++ b/agent/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -136,7 +136,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}" : ${ZBX_PASSIVE_ALLOW:="true"} - if [ "$ZBX_PASSIVE_ALLOW" == "true" ]; then + if [ "${ZBX_PASSIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_PASSIVESERVERS' servers for passive checks" update_config_var $ZBX_AGENT_CONFIG "Server" "${ZBX_PASSIVESERVERS}" else @@ -148,7 +148,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "StartAgents" "${ZBX_STARTAGENTS}" : ${ZBX_ACTIVE_ALLOW:="true"} - if [ "$ZBX_ACTIVE_ALLOW" == "true" ]; then + if [ "${ZBX_ACTIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_ACTIVESERVERS' servers for active checks" update_config_var $ZBX_AGENT_CONFIG "ServerActive" "${ZBX_ACTIVESERVERS}" else diff --git a/agent/ubuntu/README.md b/agent/ubuntu/README.md index eb0a3f5b4..143597d19 100644 --- a/agent/ubuntu/README.md +++ b/agent/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix agent is deployed on a monitoring target to actively monitor local resour # Zabbix agent images -These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix agent are: +These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix agent are: - Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix agent 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix agent 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix agent 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix agent 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix agent 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/agent/ubuntu/docker-entrypoint.sh b/agent/ubuntu/docker-entrypoint.sh index 9c8fc5791..4306b3d9a 100755 --- a/agent/ubuntu/docker-entrypoint.sh +++ b/agent/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -136,7 +136,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}" : ${ZBX_PASSIVE_ALLOW:="true"} - if [ "$ZBX_PASSIVE_ALLOW" == "true" ]; then + if [ "${ZBX_PASSIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_PASSIVESERVERS' servers for passive checks" update_config_var $ZBX_AGENT_CONFIG "Server" "${ZBX_PASSIVESERVERS}" else @@ -148,7 +148,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "StartAgents" "${ZBX_STARTAGENTS}" : ${ZBX_ACTIVE_ALLOW:="true"} - if [ "$ZBX_ACTIVE_ALLOW" == "true" ]; then + if [ "${ZBX_ACTIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_ACTIVESERVERS' servers for active checks" update_config_var $ZBX_AGENT_CONFIG "ServerActive" "${ZBX_ACTIVESERVERS}" else diff --git a/agent2/alpine/README.md b/agent2/alpine/README.md index 0a2a5635b..f47326c08 100644 --- a/agent2/alpine/README.md +++ b/agent2/alpine/README.md @@ -21,7 +21,7 @@ These are the only official Zabbix agent 2 Docker images. They are based on Alpi Zabbix agent 2 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest) Zabbix agent 2 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*) Zabbix agent 2 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, alpine-latest, ubuntu-latest, latest) - Zabbix agent 2 5.2.* (tags: alpine-5.2.*, ubuntu-5.0.*) + Zabbix agent 2 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*) Zabbix agent 2 5.4 (tags: alpine-trunk, ubuntu-trunk) Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux. diff --git a/agent2/alpine/docker-entrypoint.sh b/agent2/alpine/docker-entrypoint.sh index 5cad1e570..1476e10a4 100755 --- a/agent2/alpine/docker-entrypoint.sh +++ b/agent2/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -136,7 +136,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}" : ${ZBX_PASSIVE_ALLOW:="true"} - if [ "$ZBX_PASSIVE_ALLOW" == "true" ]; then + if [ "${ZBX_PASSIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_PASSIVESERVERS' servers for passive checks" update_config_var $ZBX_AGENT_CONFIG "Server" "${ZBX_PASSIVESERVERS}" else @@ -147,14 +147,14 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "ListenIP" "${ZBX_LISTENIP}" : ${ZBX_ACTIVE_ALLOW:="true"} - if [ "$ZBX_ACTIVE_ALLOW" == "true" ]; then + if [ "${ZBX_ACTIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_ACTIVESERVERS' servers for active checks" update_config_var $ZBX_AGENT_CONFIG "ServerActive" "${ZBX_ACTIVESERVERS}" else update_config_var $ZBX_AGENT_CONFIG "ServerActive" fi - if [ "$ZBX_ENABLESTATUSPORT" == "true" ]; then + if [ "${ZBX_ENABLEPERSISTENTBUFFER,,}" == "true" ]; then update_config_var $ZBX_AGENT_CONFIG "EnablePersistentBuffer" "1" update_config_var $ZBX_AGENT_CONFIG "PersistentBufferFile" "$ZABBIX_USER_HOME_DIR/buffer/" update_config_var $ZBX_AGENT_CONFIG "PersistentBufferPeriod" "${ZBX_PERSISTENTBUFFERPERIOD}" @@ -162,7 +162,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "EnablePersistentBuffer" "0" fi - if [ "$ZBX_ENABLESTATUSPORT" == "true" ]; then + if [ "${ZBX_ENABLESTATUSPORT,,}" == "true" ]; then update_config_var $ZBX_AGENT_CONFIG "StatusPort" "31999" fi diff --git a/agent2/rhel/README.md b/agent2/rhel/README.md index 0a2a5635b..f47326c08 100644 --- a/agent2/rhel/README.md +++ b/agent2/rhel/README.md @@ -21,7 +21,7 @@ These are the only official Zabbix agent 2 Docker images. They are based on Alpi Zabbix agent 2 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest) Zabbix agent 2 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*) Zabbix agent 2 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, alpine-latest, ubuntu-latest, latest) - Zabbix agent 2 5.2.* (tags: alpine-5.2.*, ubuntu-5.0.*) + Zabbix agent 2 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*) Zabbix agent 2 5.4 (tags: alpine-trunk, ubuntu-trunk) Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux. diff --git a/agent2/rhel/docker-entrypoint.sh b/agent2/rhel/docker-entrypoint.sh index 5cad1e570..1476e10a4 100755 --- a/agent2/rhel/docker-entrypoint.sh +++ b/agent2/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -136,7 +136,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}" : ${ZBX_PASSIVE_ALLOW:="true"} - if [ "$ZBX_PASSIVE_ALLOW" == "true" ]; then + if [ "${ZBX_PASSIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_PASSIVESERVERS' servers for passive checks" update_config_var $ZBX_AGENT_CONFIG "Server" "${ZBX_PASSIVESERVERS}" else @@ -147,14 +147,14 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "ListenIP" "${ZBX_LISTENIP}" : ${ZBX_ACTIVE_ALLOW:="true"} - if [ "$ZBX_ACTIVE_ALLOW" == "true" ]; then + if [ "${ZBX_ACTIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_ACTIVESERVERS' servers for active checks" update_config_var $ZBX_AGENT_CONFIG "ServerActive" "${ZBX_ACTIVESERVERS}" else update_config_var $ZBX_AGENT_CONFIG "ServerActive" fi - if [ "$ZBX_ENABLESTATUSPORT" == "true" ]; then + if [ "${ZBX_ENABLEPERSISTENTBUFFER,,}" == "true" ]; then update_config_var $ZBX_AGENT_CONFIG "EnablePersistentBuffer" "1" update_config_var $ZBX_AGENT_CONFIG "PersistentBufferFile" "$ZABBIX_USER_HOME_DIR/buffer/" update_config_var $ZBX_AGENT_CONFIG "PersistentBufferPeriod" "${ZBX_PERSISTENTBUFFERPERIOD}" @@ -162,7 +162,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "EnablePersistentBuffer" "0" fi - if [ "$ZBX_ENABLESTATUSPORT" == "true" ]; then + if [ "${ZBX_ENABLESTATUSPORT,,}" == "true" ]; then update_config_var $ZBX_AGENT_CONFIG "StatusPort" "31999" fi diff --git a/agent2/ubuntu/README.md b/agent2/ubuntu/README.md index 0a2a5635b..f47326c08 100644 --- a/agent2/ubuntu/README.md +++ b/agent2/ubuntu/README.md @@ -21,7 +21,7 @@ These are the only official Zabbix agent 2 Docker images. They are based on Alpi Zabbix agent 2 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest) Zabbix agent 2 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*) Zabbix agent 2 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, alpine-latest, ubuntu-latest, latest) - Zabbix agent 2 5.2.* (tags: alpine-5.2.*, ubuntu-5.0.*) + Zabbix agent 2 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*) Zabbix agent 2 5.4 (tags: alpine-trunk, ubuntu-trunk) Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux. diff --git a/agent2/ubuntu/docker-entrypoint.sh b/agent2/ubuntu/docker-entrypoint.sh index 5cad1e570..1476e10a4 100755 --- a/agent2/ubuntu/docker-entrypoint.sh +++ b/agent2/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -136,7 +136,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}" : ${ZBX_PASSIVE_ALLOW:="true"} - if [ "$ZBX_PASSIVE_ALLOW" == "true" ]; then + if [ "${ZBX_PASSIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_PASSIVESERVERS' servers for passive checks" update_config_var $ZBX_AGENT_CONFIG "Server" "${ZBX_PASSIVESERVERS}" else @@ -147,14 +147,14 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "ListenIP" "${ZBX_LISTENIP}" : ${ZBX_ACTIVE_ALLOW:="true"} - if [ "$ZBX_ACTIVE_ALLOW" == "true" ]; then + if [ "${ZBX_ACTIVE_ALLOW,,}" == "true" ]; then echo "** Using '$ZBX_ACTIVESERVERS' servers for active checks" update_config_var $ZBX_AGENT_CONFIG "ServerActive" "${ZBX_ACTIVESERVERS}" else update_config_var $ZBX_AGENT_CONFIG "ServerActive" fi - if [ "$ZBX_ENABLESTATUSPORT" == "true" ]; then + if [ "${ZBX_ENABLEPERSISTENTBUFFER,,}" == "true" ]; then update_config_var $ZBX_AGENT_CONFIG "EnablePersistentBuffer" "1" update_config_var $ZBX_AGENT_CONFIG "PersistentBufferFile" "$ZABBIX_USER_HOME_DIR/buffer/" update_config_var $ZBX_AGENT_CONFIG "PersistentBufferPeriod" "${ZBX_PERSISTENTBUFFERPERIOD}" @@ -162,7 +162,7 @@ prepare_zbx_agent_config() { update_config_var $ZBX_AGENT_CONFIG "EnablePersistentBuffer" "0" fi - if [ "$ZBX_ENABLESTATUSPORT" == "true" ]; then + if [ "${ZBX_ENABLESTATUSPORT,,}" == "true" ]; then update_config_var $ZBX_AGENT_CONFIG "StatusPort" "31999" fi diff --git a/java-gateway/alpine/README.md b/java-gateway/alpine/README.md index 37b25ba68..86edddf95 100644 --- a/java-gateway/alpine/README.md +++ b/java-gateway/alpine/README.md @@ -14,10 +14,10 @@ Zabbix Java Gateway performs native support for monitoring JMX applications. Jav # Zabbix Java Gateway images -These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix Java Gateway are: +These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix Java Gateway are: - Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix Java Gateway 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix Java Gateway 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix Java Gateway 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/java-gateway/alpine/docker-entrypoint.sh b/java-gateway/alpine/docker-entrypoint.sh index ec5223733..01ac14cd1 100755 --- a/java-gateway/alpine/docker-entrypoint.sh +++ b/java-gateway/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi diff --git a/java-gateway/centos/README.md b/java-gateway/centos/README.md index 37b25ba68..86edddf95 100644 --- a/java-gateway/centos/README.md +++ b/java-gateway/centos/README.md @@ -14,10 +14,10 @@ Zabbix Java Gateway performs native support for monitoring JMX applications. Jav # Zabbix Java Gateway images -These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix Java Gateway are: +These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix Java Gateway are: - Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix Java Gateway 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix Java Gateway 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix Java Gateway 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/java-gateway/centos/docker-entrypoint.sh b/java-gateway/centos/docker-entrypoint.sh index ec5223733..01ac14cd1 100755 --- a/java-gateway/centos/docker-entrypoint.sh +++ b/java-gateway/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi diff --git a/java-gateway/rhel/README.md b/java-gateway/rhel/README.md index c4b0a4aa8..86edddf95 100644 --- a/java-gateway/rhel/README.md +++ b/java-gateway/rhel/README.md @@ -14,21 +14,25 @@ Zabbix Java Gateway performs native support for monitoring JMX applications. Jav # Zabbix Java Gateway images -These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.9, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix Java Gateway are: +These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix Java Gateway are: - Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) - Zabbix Java Gateway 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) - Zabbix Java Gateway 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) - Zabbix Java Gateway 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) - Zabbix Java Gateway 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) + Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) + Zabbix Java Gateway 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) + Zabbix Java Gateway 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) + Zabbix Java Gateway 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) + Zabbix Java Gateway 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) (unsupported) Zabbix Java Gateway 4.0 (tags: alpine-4.0-latest, ubuntu-4.0-latest, centos-4.0-latest) Zabbix Java Gateway 4.0.* (tags: alpine-4.0.*, ubuntu-4.0.*, centos-4.0.*) - Zabbix Java Gateway 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2-latest) - Zabbix Java Gateway 4.2.* (tags: alpine-4.2.*, ubuntu-4.2.*, centos-4.2.*) - Zabbix Java Gateway 4.4 (tags: alpine-4.4-latest, ubuntu-4.4-latest, centos-4.4-latest, alpine-latest, ubuntu-latest, centos-latest, latest) - Zabbix Java Gateway 4.4.* (tags: alpine-4.4.*, ubuntu-4.4.*, centos-4.4.*) - Zabbix Java Gateway 5.0 (tags: alpine-trunk, ubuntu-trunk, centos-trunk) + Zabbix Java Gateway 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2-latest) (unsupported) + Zabbix Java Gateway 4.2.* (tags: alpine-4.2.*, ubuntu-4.2.*, centos-4.2.*) (unsupported) + Zabbix Java Gateway 4.4 (tags: alpine-4.4-latest, ubuntu-4.4-latest, centos-4.4-latest) (unsupported) + Zabbix Java Gateway 4.4.* (tags: alpine-4.4.*, ubuntu-4.4.*, centos-4.4.*) (unsupported) + Zabbix Java Gateway 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest) + Zabbix Java Gateway 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*, centos-5.0.*) + Zabbix Java Gateway 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, centos-5.2-latest, alpine-latest, ubuntu-latest, centos-latest, latest) + Zabbix Java Gateway 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*, centos-5.2.*) + Zabbix Java Gateway 5.4 (tags: alpine-trunk, ubuntu-trunk, centos-trunk) Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux. @@ -76,6 +80,14 @@ This variable is used to specify timeout for outgoing connections. By default, v This variable is used to specify log level. By default, value is `info`. The variable allows next values: ``trace``, ``debug``, ``info``, ``want``, ``error``, ``all``, ``off`` +### `ZBX_PROPERTIES_FILE` + +Name of properties file. Can be used to set additional properties using a key-value format in such a way that they are not visible on a command line or to overwrite existing ones. + +### `ZABBIX_OPTIONS` + +Additional arguments for Zabbix Java Gateway. Useful to enable additional libraries and features. + ## Allowed volumes for the Zabbix Java Gateway container ### ``/usr/sbin/zabbix_java/ext_lib`` @@ -110,7 +122,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta ## Documentation -Documentation for this image is stored in the [`java-gateway/` directory](https://github.com/zabbix/zabbix-docker/tree/3.0/java-gateway) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request. +Documentation for this image is stored in the [`java-gateway/` directory](https://github.com/zabbix/zabbix-docker/tree/current/java-gateway) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request. ## Issues diff --git a/java-gateway/rhel/docker-entrypoint.sh b/java-gateway/rhel/docker-entrypoint.sh index ec5223733..01ac14cd1 100755 --- a/java-gateway/rhel/docker-entrypoint.sh +++ b/java-gateway/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi diff --git a/java-gateway/ubuntu/README.md b/java-gateway/ubuntu/README.md index 37b25ba68..86edddf95 100644 --- a/java-gateway/ubuntu/README.md +++ b/java-gateway/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix Java Gateway performs native support for monitoring JMX applications. Jav # Zabbix Java Gateway images -These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix Java Gateway are: +These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix Java Gateway are: - Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix Java Gateway 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix Java Gateway 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix Java Gateway 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/java-gateway/ubuntu/docker-entrypoint.sh b/java-gateway/ubuntu/docker-entrypoint.sh index ec5223733..01ac14cd1 100755 --- a/java-gateway/ubuntu/docker-entrypoint.sh +++ b/java-gateway/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi diff --git a/proxy-mysql/alpine/README.md b/proxy-mysql/alpine/README.md index 4923c1b05..4f833d846 100644 --- a/proxy-mysql/alpine/README.md +++ b/proxy-mysql/alpine/README.md @@ -14,10 +14,10 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni # Zabbix proxy images -These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix proxy are: +These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix proxy are: - Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix proxy 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/proxy-mysql/alpine/docker-entrypoint.sh b/proxy-mysql/alpine/docker-entrypoint.sh index c92026ec0..59e192bf4 100755 --- a/proxy-mysql/alpine/docker-entrypoint.sh +++ b/proxy-mysql/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -150,17 +150,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -170,7 +170,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials DB_SERVER_ROOT_USER=${DB_SERVER_ROOT_USER:-${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -208,7 +208,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -368,7 +368,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -385,7 +385,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/proxy-mysql/centos/README.md b/proxy-mysql/centos/README.md index 4923c1b05..4f833d846 100644 --- a/proxy-mysql/centos/README.md +++ b/proxy-mysql/centos/README.md @@ -14,10 +14,10 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni # Zabbix proxy images -These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix proxy are: +These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix proxy are: - Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix proxy 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/proxy-mysql/centos/docker-entrypoint.sh b/proxy-mysql/centos/docker-entrypoint.sh index 3d6bfd48c..ea53d067c 100755 --- a/proxy-mysql/centos/docker-entrypoint.sh +++ b/proxy-mysql/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -150,17 +150,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -170,7 +170,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials DB_SERVER_ROOT_USER=${DB_SERVER_ROOT_USER:-${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -205,7 +205,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -365,7 +365,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -382,7 +382,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/proxy-mysql/rhel/docker-entrypoint.sh b/proxy-mysql/rhel/docker-entrypoint.sh index 49e1cb0c1..c2bbf252e 100755 --- a/proxy-mysql/rhel/docker-entrypoint.sh +++ b/proxy-mysql/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -150,17 +150,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -170,7 +170,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials DB_SERVER_ROOT_USER=${DB_SERVER_ROOT_USER:-${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -205,7 +205,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -366,7 +366,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -383,7 +383,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/proxy-mysql/ubuntu/README.md b/proxy-mysql/ubuntu/README.md index 4923c1b05..4f833d846 100644 --- a/proxy-mysql/ubuntu/README.md +++ b/proxy-mysql/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni # Zabbix proxy images -These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix proxy are: +These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix proxy are: - Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix proxy 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/proxy-mysql/ubuntu/docker-entrypoint.sh b/proxy-mysql/ubuntu/docker-entrypoint.sh index 214cea411..2f7ade336 100755 --- a/proxy-mysql/ubuntu/docker-entrypoint.sh +++ b/proxy-mysql/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -150,17 +150,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -170,7 +170,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials DB_SERVER_ROOT_USER=${DB_SERVER_ROOT_USER:-${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -205,7 +205,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -365,7 +365,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -382,7 +382,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/proxy-sqlite3/alpine/README.md b/proxy-sqlite3/alpine/README.md index e7878a09b..887e93f10 100644 --- a/proxy-sqlite3/alpine/README.md +++ b/proxy-sqlite3/alpine/README.md @@ -14,10 +14,10 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni # Zabbix proxy images -These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix proxy are: +These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix proxy are: - Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix proxy 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/proxy-sqlite3/alpine/docker-entrypoint.sh b/proxy-sqlite3/alpine/docker-entrypoint.sh index bce53c036..42215e3e7 100755 --- a/proxy-sqlite3/alpine/docker-entrypoint.sh +++ b/proxy-sqlite3/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -162,7 +162,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -179,7 +179,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/proxy-sqlite3/centos/README.md b/proxy-sqlite3/centos/README.md index e7878a09b..887e93f10 100644 --- a/proxy-sqlite3/centos/README.md +++ b/proxy-sqlite3/centos/README.md @@ -14,10 +14,10 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni # Zabbix proxy images -These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix proxy are: +These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix proxy are: - Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix proxy 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/proxy-sqlite3/centos/docker-entrypoint.sh b/proxy-sqlite3/centos/docker-entrypoint.sh index bce53c036..42215e3e7 100755 --- a/proxy-sqlite3/centos/docker-entrypoint.sh +++ b/proxy-sqlite3/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -162,7 +162,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -179,7 +179,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/proxy-sqlite3/rhel/README.md b/proxy-sqlite3/rhel/README.md index 77c514388..887e93f10 100644 --- a/proxy-sqlite3/rhel/README.md +++ b/proxy-sqlite3/rhel/README.md @@ -14,22 +14,24 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni # Zabbix proxy images -These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix proxy are: +These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix proxy are: - Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) - Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2.*) (unsupported) + Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) + Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix proxy 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) - Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4.*) (unsupported) + Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) Zabbix proxy 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) (unsupported) Zabbix proxy 4.0 (tags: alpine-4.0-latest, ubuntu-4.0-latest, centos-4.0-latest) Zabbix proxy 4.0.* (tags: alpine-4.0.*, ubuntu-4.0.*, centos-4.0.*) - Zabbix proxy 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2.*) (unsupported) + Zabbix proxy 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2-latest) (unsupported) Zabbix proxy 4.2.* (tags: alpine-4.2.*, ubuntu-4.2.*, centos-4.2.*) (unsupported) Zabbix proxy 4.4 (tags: alpine-4.4-latest, ubuntu-4.4-latest, centos-4.4-latest) (unsupported) Zabbix proxy 4.4.* (tags: alpine-4.4.*, ubuntu-4.4.*, centos-4.4.*) (unsupported) - Zabbix proxy 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest, alpine-latest, ubuntu-latest, centos-latest, latest) + Zabbix proxy 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest) Zabbix proxy 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*, centos-5.0.*) + Zabbix proxy 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, centos-5.2-latest, alpine-latest, ubuntu-latest, centos-latest, latest) + Zabbix proxy 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*, centos-5.2.*) Zabbix proxy 5.2 (tags: alpine-trunk, ubuntu-trunk, centos-trunk) Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux. @@ -123,6 +125,9 @@ The variable enable communication with Zabbix Java Gateway to collect Java relat Additionally the image allows to specify many other environment variables listed below: ``` +ZBX_VAULTDBPATH= # Available since 5.2.0 +ZBX_VAULTURL=https://127.0.0.1:8200 # Available since 5.2.0 +VAULT_TOKEN= # Available since 5.2.0 ZBX_ENABLEREMOTECOMMANDS=0 # Available since 3.4.0 ZBX_LOGREMOTECOMMANDS=0 # Available since 3.4.0 ZBX_SOURCEIP= diff --git a/proxy-sqlite3/rhel/docker-entrypoint.sh b/proxy-sqlite3/rhel/docker-entrypoint.sh index bce53c036..42215e3e7 100755 --- a/proxy-sqlite3/rhel/docker-entrypoint.sh +++ b/proxy-sqlite3/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -162,7 +162,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -179,7 +179,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/proxy-sqlite3/ubuntu/README.md b/proxy-sqlite3/ubuntu/README.md index e7878a09b..887e93f10 100644 --- a/proxy-sqlite3/ubuntu/README.md +++ b/proxy-sqlite3/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni # Zabbix proxy images -These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix proxy are: +These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix proxy are: - Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix proxy 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix proxy 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix proxy 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix proxy 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix proxy 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/proxy-sqlite3/ubuntu/docker-entrypoint.sh b/proxy-sqlite3/ubuntu/docker-entrypoint.sh index 12d18e685..cbc0ac48c 100755 --- a/proxy-sqlite3/ubuntu/docker-entrypoint.sh +++ b/proxy-sqlite3/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -162,7 +162,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartHTTPPollers" "${ZBX_STARTHTTPPOLLERS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -179,7 +179,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/server-mysql/alpine/README.md b/server-mysql/alpine/README.md index d19c3cd8e..f672cd64b 100644 --- a/server-mysql/alpine/README.md +++ b/server-mysql/alpine/README.md @@ -16,10 +16,10 @@ The server performs the polling and trapping of data, it calculates triggers, se # Zabbix server images -These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix server are: +These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix server are: - Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/server-mysql/alpine/docker-entrypoint.sh b/server-mysql/alpine/docker-entrypoint.sh index 6f82044e0..f4707e4d0 100755 --- a/server-mysql/alpine/docker-entrypoint.sh +++ b/server-mysql/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -145,17 +145,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -165,7 +165,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -203,7 +203,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -355,7 +355,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartLLDProcessors" "${ZBX_STARTLLDPROCESSORS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -372,7 +372,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/server-mysql/centos/README.md b/server-mysql/centos/README.md index d19c3cd8e..f672cd64b 100644 --- a/server-mysql/centos/README.md +++ b/server-mysql/centos/README.md @@ -16,10 +16,10 @@ The server performs the polling and trapping of data, it calculates triggers, se # Zabbix server images -These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix server are: +These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix server are: - Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/server-mysql/centos/docker-entrypoint.sh b/server-mysql/centos/docker-entrypoint.sh index b00ebcbf5..85ea82c46 100755 --- a/server-mysql/centos/docker-entrypoint.sh +++ b/server-mysql/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -145,17 +145,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -165,7 +165,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -200,7 +200,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -352,7 +352,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartLLDProcessors" "${ZBX_STARTLLDPROCESSORS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -369,7 +369,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/server-mysql/rhel/README.md b/server-mysql/rhel/README.md index 060b0fe15..f672cd64b 100644 --- a/server-mysql/rhel/README.md +++ b/server-mysql/rhel/README.md @@ -16,23 +16,25 @@ The server performs the polling and trapping of data, it calculates triggers, se # Zabbix server images -These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix server are: +These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix server are: - Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) - Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2.*) (unsupported) + Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) + Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) - Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4.*) (unsupported) + Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) Zabbix server 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) (unsupported) Zabbix server 4.0 (tags: alpine-4.0-latest, ubuntu-4.0-latest, centos-4.0-latest) Zabbix server 4.0.* (tags: alpine-4.0.*, ubuntu-4.0.*, centos-4.0.*) - Zabbix server 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2.*) (unsupported) + Zabbix server 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2-latest) (unsupported) Zabbix server 4.2.* (tags: alpine-4.2.*, ubuntu-4.2.*, centos-4.2.*) (unsupported) Zabbix server 4.4 (tags: alpine-4.4-latest, ubuntu-4.4-latest, centos-4.4-latest) (unsupported) Zabbix server 4.4.* (tags: alpine-4.4.*, ubuntu-4.4.*, centos-4.4.*) (unsupported) - Zabbix server 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest, alpine-latest, ubuntu-latest, centos-latest, latest) + Zabbix server 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest) Zabbix server 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*, centos-5.0.*) - Zabbix server 5.2 (tags: alpine-trunk, ubuntu-trunk, centos-trunk) + Zabbix server 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, centos-5.2-latest, alpine-latest, ubuntu-latest, centos-latest, latest) + Zabbix server 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*, centos-5.2.*) + Zabbix server 5.4 (tags: alpine-trunk, ubuntu-trunk, centos-trunk) Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux. @@ -135,6 +137,9 @@ ZBX_DBTLSCERTFILE= # Available since 5.0.0 ZBX_DBTLSKEYFILE= # Available since 5.0.0 ZBX_DBTLSCIPHER= # Available since 5.0.0 ZBX_DBTLSCIPHER13= # Available since 5.0.0 +ZBX_VAULTDBPATH= # Available since 5.2.0 +ZBX_VAULTURL=https://127.0.0.1:8200 # Available since 5.2.0 +VAULT_TOKEN= # Available since 5.2.0 ZBX_LISTENIP= ZBX_HISTORYSTORAGEURL= # Available since 3.4.0 ZBX_HISTORYSTORAGETYPES=uint,dbl,str,log,text # Available since 3.4.0 diff --git a/server-mysql/rhel/docker-entrypoint.sh b/server-mysql/rhel/docker-entrypoint.sh index b00ebcbf5..85ea82c46 100755 --- a/server-mysql/rhel/docker-entrypoint.sh +++ b/server-mysql/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -145,17 +145,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -165,7 +165,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -200,7 +200,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -352,7 +352,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartLLDProcessors" "${ZBX_STARTLLDPROCESSORS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -369,7 +369,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/server-mysql/ubuntu/README.md b/server-mysql/ubuntu/README.md index d19c3cd8e..f672cd64b 100644 --- a/server-mysql/ubuntu/README.md +++ b/server-mysql/ubuntu/README.md @@ -16,10 +16,10 @@ The server performs the polling and trapping of data, it calculates triggers, se # Zabbix server images -These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix server are: +These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix server are: - Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/server-mysql/ubuntu/docker-entrypoint.sh b/server-mysql/ubuntu/docker-entrypoint.sh index b8e2962f8..eaef8689d 100755 --- a/server-mysql/ubuntu/docker-entrypoint.sh +++ b/server-mysql/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -145,17 +145,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -165,7 +165,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -200,7 +200,7 @@ check_db_connect_mysql() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -352,7 +352,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartLLDProcessors" "${ZBX_STARTLLDPROCESSORS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -369,7 +369,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/server-pgsql/alpine/README.md b/server-pgsql/alpine/README.md index b5897b4b6..2651ce0c8 100644 --- a/server-pgsql/alpine/README.md +++ b/server-pgsql/alpine/README.md @@ -16,10 +16,10 @@ The server performs the polling and trapping of data, it calculates triggers, se # Zabbix server images -These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix server are: +These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix server are: - Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/server-pgsql/alpine/docker-entrypoint.sh b/server-pgsql/alpine/docker-entrypoint.sh index 24757c93c..17e685e10 100755 --- a/server-pgsql/alpine/docker-entrypoint.sh +++ b/server-pgsql/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -162,7 +162,7 @@ check_db_connect_postgresql() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then echo "* DB_SERVER_ZBX_USER: ${DB_SERVER_ZBX_USER}" echo "* DB_SERVER_ZBX_PASS: ${DB_SERVER_ZBX_PASS}" fi @@ -288,7 +288,7 @@ create_db_schema_postgresql() { if [ -z "${ZBX_DB_VERSION}" ]; then echo "** Creating '${DB_SERVER_DBNAME}' schema in PostgreSQL" - if [ "${ENABLE_TIMESCALEDB}" == "true" ]; then + if [ "${ENABLE_TIMESCALEDB,,}" == "true" ]; then psql_query "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" fi @@ -312,7 +312,7 @@ create_db_schema_postgresql() { --host "${DB_SERVER_HOST}" --port "${DB_SERVER_PORT}" \ --username "${DB_SERVER_ZBX_USER}" --dbname "${DB_SERVER_DBNAME}" 1>/dev/null || exit 1 - if [ "${ENABLE_TIMESCALEDB}" == "true" ]; then + if [ "${ENABLE_TIMESCALEDB,,}" == "true" ]; then cat /usr/share/doc/zabbix-server-postgresql/timescaledb.sql | psql --quiet \ --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} \ --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null || exit 1 @@ -389,7 +389,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartLLDProcessors" "${ZBX_STARTLLDPROCESSORS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -406,7 +406,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/server-pgsql/centos/README.md b/server-pgsql/centos/README.md index b5897b4b6..2651ce0c8 100644 --- a/server-pgsql/centos/README.md +++ b/server-pgsql/centos/README.md @@ -16,10 +16,10 @@ The server performs the polling and trapping of data, it calculates triggers, se # Zabbix server images -These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix server are: +These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix server are: - Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/server-pgsql/centos/docker-entrypoint.sh b/server-pgsql/centos/docker-entrypoint.sh index 24757c93c..17e685e10 100755 --- a/server-pgsql/centos/docker-entrypoint.sh +++ b/server-pgsql/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -162,7 +162,7 @@ check_db_connect_postgresql() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then echo "* DB_SERVER_ZBX_USER: ${DB_SERVER_ZBX_USER}" echo "* DB_SERVER_ZBX_PASS: ${DB_SERVER_ZBX_PASS}" fi @@ -288,7 +288,7 @@ create_db_schema_postgresql() { if [ -z "${ZBX_DB_VERSION}" ]; then echo "** Creating '${DB_SERVER_DBNAME}' schema in PostgreSQL" - if [ "${ENABLE_TIMESCALEDB}" == "true" ]; then + if [ "${ENABLE_TIMESCALEDB,,}" == "true" ]; then psql_query "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" fi @@ -312,7 +312,7 @@ create_db_schema_postgresql() { --host "${DB_SERVER_HOST}" --port "${DB_SERVER_PORT}" \ --username "${DB_SERVER_ZBX_USER}" --dbname "${DB_SERVER_DBNAME}" 1>/dev/null || exit 1 - if [ "${ENABLE_TIMESCALEDB}" == "true" ]; then + if [ "${ENABLE_TIMESCALEDB,,}" == "true" ]; then cat /usr/share/doc/zabbix-server-postgresql/timescaledb.sql | psql --quiet \ --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} \ --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null || exit 1 @@ -389,7 +389,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartLLDProcessors" "${ZBX_STARTLLDPROCESSORS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -406,7 +406,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/server-pgsql/ubuntu/README.md b/server-pgsql/ubuntu/README.md index b5897b4b6..2651ce0c8 100644 --- a/server-pgsql/ubuntu/README.md +++ b/server-pgsql/ubuntu/README.md @@ -16,10 +16,10 @@ The server performs the polling and trapping of data, it calculates triggers, se # Zabbix server images -These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix server are: +These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix server are: - Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/server-pgsql/ubuntu/docker-entrypoint.sh b/server-pgsql/ubuntu/docker-entrypoint.sh index 480141f6e..ca12dbb0d 100755 --- a/server-pgsql/ubuntu/docker-entrypoint.sh +++ b/server-pgsql/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -162,7 +162,7 @@ check_db_connect_postgresql() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then echo "* DB_SERVER_ZBX_USER: ${DB_SERVER_ZBX_USER}" echo "* DB_SERVER_ZBX_PASS: ${DB_SERVER_ZBX_PASS}" fi @@ -288,7 +288,7 @@ create_db_schema_postgresql() { if [ -z "${ZBX_DB_VERSION}" ]; then echo "** Creating '${DB_SERVER_DBNAME}' schema in PostgreSQL" - if [ "${ENABLE_TIMESCALEDB}" == "true" ]; then + if [ "${ENABLE_TIMESCALEDB,,}" == "true" ]; then psql_query "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" fi @@ -312,7 +312,7 @@ create_db_schema_postgresql() { --host "${DB_SERVER_HOST}" --port "${DB_SERVER_PORT}" \ --username "${DB_SERVER_ZBX_USER}" --dbname "${DB_SERVER_DBNAME}" 1>/dev/null || exit 1 - if [ "${ENABLE_TIMESCALEDB}" == "true" ]; then + if [ "${ENABLE_TIMESCALEDB,,}" == "true" ]; then cat /usr/share/doc/zabbix-server-postgresql/timescaledb.sql | psql --quiet \ --host ${DB_SERVER_HOST} --port ${DB_SERVER_PORT} \ --username ${DB_SERVER_ZBX_USER} --dbname ${DB_SERVER_DBNAME} 1>/dev/null || exit 1 @@ -389,7 +389,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "StartLLDProcessors" "${ZBX_STARTLLDPROCESSORS}" : ${ZBX_JAVAGATEWAY_ENABLE:="false"} - if [ "${ZBX_JAVAGATEWAY_ENABLE}" == "true" ]; then + if [ "${ZBX_JAVAGATEWAY_ENABLE,,}" == "true" ]; then update_config_var $ZBX_CONFIG "JavaGateway" "${ZBX_JAVAGATEWAY:-"zabbix-java-gateway"}" update_config_var $ZBX_CONFIG "JavaGatewayPort" "${ZBX_JAVAGATEWAYPORT}" update_config_var $ZBX_CONFIG "StartJavaPollers" "${ZBX_STARTJAVAPOLLERS:-"5"}" @@ -406,7 +406,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else diff --git a/snmptraps/alpine/README.md b/snmptraps/alpine/README.md index dd0f8ee31..471da9d1d 100644 --- a/snmptraps/alpine/README.md +++ b/snmptraps/alpine/README.md @@ -14,10 +14,10 @@ The image is used to receive SNMP traps, store them to a log file and provide ac # Zabbix snmptraps images -These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix snmptraps are: +These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix snmptraps are: - Zabbix snmptraps 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix snmptraps 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix snmptraps 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix snmptraps 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix snmptraps 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix snmptraps 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix snmptraps 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) @@ -42,7 +42,7 @@ Images are updated when new releases are published. Start a Zabbix snmptraps container as follows: - docker run --name some-zabbix-snmptraps -d zabbix/zabbix-snmptraps:tag + docker run --name some-zabbix-snmptraps -p 162:1162/udp -d zabbix/zabbix-snmptraps:tag Where `some-zabbix-snmptraps` is the name you want to assign to your container and `tag` is the tag specifying the version you want. See the list above for relevant tags, or look at the [full list of tags](https://hub.docker.com/r/zabbix/zabbix-snmptraps/tags/). diff --git a/snmptraps/centos/README.md b/snmptraps/centos/README.md index dd0f8ee31..471da9d1d 100644 --- a/snmptraps/centos/README.md +++ b/snmptraps/centos/README.md @@ -14,10 +14,10 @@ The image is used to receive SNMP traps, store them to a log file and provide ac # Zabbix snmptraps images -These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix snmptraps are: +These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix snmptraps are: - Zabbix snmptraps 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix snmptraps 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix snmptraps 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix snmptraps 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix snmptraps 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix snmptraps 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix snmptraps 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) @@ -42,7 +42,7 @@ Images are updated when new releases are published. Start a Zabbix snmptraps container as follows: - docker run --name some-zabbix-snmptraps -d zabbix/zabbix-snmptraps:tag + docker run --name some-zabbix-snmptraps -p 162:1162/udp -d zabbix/zabbix-snmptraps:tag Where `some-zabbix-snmptraps` is the name you want to assign to your container and `tag` is the tag specifying the version you want. See the list above for relevant tags, or look at the [full list of tags](https://hub.docker.com/r/zabbix/zabbix-snmptraps/tags/). diff --git a/snmptraps/ubuntu/README.md b/snmptraps/ubuntu/README.md index dd0f8ee31..471da9d1d 100644 --- a/snmptraps/ubuntu/README.md +++ b/snmptraps/ubuntu/README.md @@ -14,10 +14,10 @@ The image is used to receive SNMP traps, store them to a log file and provide ac # Zabbix snmptraps images -These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix snmptraps are: +These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix snmptraps are: - Zabbix snmptraps 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix snmptraps 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix snmptraps 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix snmptraps 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix snmptraps 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix snmptraps 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix snmptraps 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) @@ -42,7 +42,7 @@ Images are updated when new releases are published. Start a Zabbix snmptraps container as follows: - docker run --name some-zabbix-snmptraps -d zabbix/zabbix-snmptraps:tag + docker run --name some-zabbix-snmptraps -p 162:1162/udp -d zabbix/zabbix-snmptraps:tag Where `some-zabbix-snmptraps` is the name you want to assign to your container and `tag` is the tag specifying the version you want. See the list above for relevant tags, or look at the [full list of tags](https://hub.docker.com/r/zabbix/zabbix-snmptraps/tags/). diff --git a/web-apache-mysql/alpine/README.md b/web-apache-mysql/alpine/README.md index 8dae45c23..e9d5c110f 100644 --- a/web-apache-mysql/alpine/README.md +++ b/web-apache-mysql/alpine/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-apache-mysql/alpine/docker-entrypoint.sh b/web-apache-mysql/alpine/docker-entrypoint.sh index 3c287a3c0..5051029e5 100755 --- a/web-apache-mysql/alpine/docker-entrypoint.sh +++ b/web-apache-mysql/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -66,17 +66,17 @@ check_variables() { file_env MYSQL_USER file_env MYSQL_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -86,7 +86,7 @@ check_variables() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -96,7 +96,7 @@ check_variables() { db_tls_params() { local result="" - if [ "${ZBX_DB_ENCRYPTION}" == "true" ]; then + if [ "${ZBX_DB_ENCRYPTION,,}" == "true" ]; then result="--ssl" if [ -n "${ZBX_DB_CA_FILE}" ]; then @@ -120,7 +120,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -170,7 +170,8 @@ prepare_web_server() { prepare_zbx_web_config() { echo "** Preparing Zabbix frontend configuration file" - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -192,13 +193,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -211,7 +215,9 @@ prepare_zbx_web_config() { rm -f "/tmp/defines.inc.php_tmp" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*CustomLog)\s+\S+!\1 /dev/null!g' \ "/etc/apache2/httpd.conf" diff --git a/web-apache-mysql/centos/README.md b/web-apache-mysql/centos/README.md index 8dae45c23..e9d5c110f 100644 --- a/web-apache-mysql/centos/README.md +++ b/web-apache-mysql/centos/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-apache-mysql/centos/docker-entrypoint.sh b/web-apache-mysql/centos/docker-entrypoint.sh index 1cea78c64..9f383f509 100755 --- a/web-apache-mysql/centos/docker-entrypoint.sh +++ b/web-apache-mysql/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -66,17 +66,17 @@ check_variables() { file_env MYSQL_USER file_env MYSQL_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -86,7 +86,7 @@ check_variables() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -96,7 +96,7 @@ check_variables() { db_tls_params() { local result="" - if [ "${ZBX_DB_ENCRYPTION}" == "true" ]; then + if [ "${ZBX_DB_ENCRYPTION,,}" == "true" ]; then result="--ssl-mode=required" if [ -n "${ZBX_DB_CA_FILE}" ]; then @@ -120,7 +120,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -179,7 +179,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -201,13 +202,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -220,7 +224,9 @@ prepare_zbx_web_config() { rm -f "/tmp/defines.inc.php_tmp" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*CustomLog)\s+\S+!\1 /dev/null!g' \ "/etc/httpd/conf/httpd.conf" diff --git a/web-apache-mysql/ubuntu/README.md b/web-apache-mysql/ubuntu/README.md index 8dae45c23..e9d5c110f 100644 --- a/web-apache-mysql/ubuntu/README.md +++ b/web-apache-mysql/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-apache-mysql/ubuntu/docker-entrypoint.sh b/web-apache-mysql/ubuntu/docker-entrypoint.sh index 95cc9e155..fb4742ed5 100755 --- a/web-apache-mysql/ubuntu/docker-entrypoint.sh +++ b/web-apache-mysql/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -66,17 +66,17 @@ check_variables() { file_env MYSQL_USER file_env MYSQL_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -86,7 +86,7 @@ check_variables() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -96,7 +96,7 @@ check_variables() { db_tls_params() { local result="" - if [ "${ZBX_DB_ENCRYPTION}" == "true" ]; then + if [ "${ZBX_DB_ENCRYPTION,,}" == "true" ]; then result="--ssl-mode=required" if [ -n "${ZBX_DB_CA_FILE}" ]; then @@ -120,7 +120,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -170,7 +170,8 @@ prepare_web_server() { prepare_zbx_web_config() { echo "** Preparing Zabbix frontend configuration file" - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -192,13 +193,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -211,7 +215,9 @@ prepare_zbx_web_config() { rm -f "/tmp/defines.inc.php_tmp" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*CustomLog)\s+\S+!\1 /dev/null!g' \ "/etc/apache2/apache2.conf" diff --git a/web-apache-pgsql/alpine/README.md b/web-apache-pgsql/alpine/README.md index b8e5d55be..2dc5f1a8a 100644 --- a/web-apache-pgsql/alpine/README.md +++ b/web-apache-pgsql/alpine/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-apache-pgsql/alpine/docker-entrypoint.sh b/web-apache-pgsql/alpine/docker-entrypoint.sh index 77663ad73..7cee84593 100755 --- a/web-apache-pgsql/alpine/docker-entrypoint.sh +++ b/web-apache-pgsql/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -83,7 +83,7 @@ check_db_connect() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -154,7 +154,8 @@ prepare_web_server() { prepare_zbx_web_config() { echo "** Preparing Zabbix frontend configuration file" - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -176,13 +177,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -195,7 +199,9 @@ prepare_zbx_web_config() { rm -f "/tmp/defines.inc.php_tmp" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*CustomLog)\s+\S+!\1 /dev/null!g' \ "/etc/apache2/httpd.conf" diff --git a/web-apache-pgsql/centos/README.md b/web-apache-pgsql/centos/README.md index b8e5d55be..2dc5f1a8a 100644 --- a/web-apache-pgsql/centos/README.md +++ b/web-apache-pgsql/centos/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-apache-pgsql/centos/docker-entrypoint.sh b/web-apache-pgsql/centos/docker-entrypoint.sh index 9c4cf6b6c..be20aea2e 100755 --- a/web-apache-pgsql/centos/docker-entrypoint.sh +++ b/web-apache-pgsql/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -86,7 +86,7 @@ check_db_connect() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -166,7 +166,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -188,13 +189,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -207,7 +211,9 @@ prepare_zbx_web_config() { rm -f "/tmp/defines.inc.php_tmp" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*CustomLog)\s+\S+!\1 /dev/null!g' \ "/etc/httpd/conf/httpd.conf" diff --git a/web-apache-pgsql/ubuntu/README.md b/web-apache-pgsql/ubuntu/README.md index b8e5d55be..2dc5f1a8a 100644 --- a/web-apache-pgsql/ubuntu/README.md +++ b/web-apache-pgsql/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-apache-pgsql/ubuntu/docker-entrypoint.sh b/web-apache-pgsql/ubuntu/docker-entrypoint.sh index 2de0a4446..23db5c5ac 100755 --- a/web-apache-pgsql/ubuntu/docker-entrypoint.sh +++ b/web-apache-pgsql/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -86,7 +86,7 @@ check_db_connect() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -161,7 +161,8 @@ clear_deploy() { prepare_zbx_web_config() { echo "** Preparing Zabbix frontend configuration file" - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -183,13 +184,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,c} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -202,7 +206,9 @@ prepare_zbx_web_config() { rm -f "/tmp/defines.inc.php_tmp" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*CustomLog)\s+\S+!\1 /dev/null!g' \ "/etc/apache2/apache2.conf" diff --git a/web-nginx-mysql/alpine/README.md b/web-nginx-mysql/alpine/README.md index 76571af93..89d375a05 100644 --- a/web-nginx-mysql/alpine/README.md +++ b/web-nginx-mysql/alpine/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-nginx-mysql/alpine/docker-entrypoint.sh b/web-nginx-mysql/alpine/docker-entrypoint.sh index 7465a5c27..40aeef4a0 100755 --- a/web-nginx-mysql/alpine/docker-entrypoint.sh +++ b/web-nginx-mysql/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -66,17 +66,17 @@ check_variables() { file_env MYSQL_USER file_env MYSQL_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -86,7 +86,7 @@ check_variables() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -96,7 +96,7 @@ check_variables() { db_tls_params() { local result="" - if [ "${ZBX_DB_ENCRYPTION}" == "true" ]; then + if [ "${ZBX_DB_ENCRYPTION,,}" == "true" ]; then result="--ssl" if [ -n "${ZBX_DB_CA_FILE}" ]; then @@ -120,7 +120,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -180,7 +180,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -202,13 +203,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -232,7 +236,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf" diff --git a/web-nginx-mysql/centos/README.md b/web-nginx-mysql/centos/README.md index 76571af93..89d375a05 100644 --- a/web-nginx-mysql/centos/README.md +++ b/web-nginx-mysql/centos/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-nginx-mysql/centos/docker-entrypoint.sh b/web-nginx-mysql/centos/docker-entrypoint.sh index 964f41825..1e827d21c 100755 --- a/web-nginx-mysql/centos/docker-entrypoint.sh +++ b/web-nginx-mysql/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -66,17 +66,17 @@ check_variables() { file_env MYSQL_USER file_env MYSQL_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -86,7 +86,7 @@ check_variables() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -96,7 +96,7 @@ check_variables() { db_tls_params() { local result="" - if [ "${ZBX_DB_ENCRYPTION}" == "true" ]; then + if [ "${ZBX_DB_ENCRYPTION,,}" == "true" ]; then result="--ssl-mode=required" if [ -n "${ZBX_DB_CA_FILE}" ]; then @@ -120,7 +120,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -180,7 +180,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -202,13 +203,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -232,7 +236,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf" diff --git a/web-nginx-mysql/rhel/README.md b/web-nginx-mysql/rhel/README.md index 0fe77290f..89d375a05 100644 --- a/web-nginx-mysql/rhel/README.md +++ b/web-nginx-mysql/rhel/README.md @@ -14,23 +14,25 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) - Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2.*) (unsupported) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) + Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) - Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4.*) (unsupported) + Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) Zabbix web interface 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) (unsupported) Zabbix web interface 4.0 (tags: alpine-4.0-latest, ubuntu-4.0-latest, centos-4.0-latest) Zabbix web interface 4.0.* (tags: alpine-4.0.*, ubuntu-4.0.*, centos-4.0.*) - Zabbix web interface 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2.*) (unsupported) + Zabbix web interface 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2-latest) (unsupported) Zabbix web interface 4.2.* (tags: alpine-4.2.*, ubuntu-4.2.*, centos-4.2.*) (unsupported) Zabbix web interface 4.4 (tags: alpine-4.4-latest, ubuntu-4.4-latest, centos-4.4-latest) (unsupported) Zabbix web interface 4.4.* (tags: alpine-4.4.*, ubuntu-4.4.*, centos-4.4.*) (unsupported) - Zabbix web interface 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest, alpine-latest, ubuntu-latest, centos-latest, latest) + Zabbix web interface 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest) Zabbix web interface 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*, centos-5.0.*) - Zabbix web interface 5.2 (tags: alpine-trunk, ubuntu-trunk, centos-trunk) + Zabbix web interface 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, centos-5.2-latest, alpine-latest, ubuntu-latest, centos-latest, latest) + Zabbix web interface 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*, centos-5.2.*) + Zabbix web interface 5.4 (tags: alpine-trunk, ubuntu-trunk, centos-trunk) Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux. @@ -128,7 +130,7 @@ Array of value types to be sent to the history storage. An example: ['uint', 'db ### `PHP_TZ` -The variable is timezone in PHP format. Full list of supported timezones are available on [`php.net`](http://php.net/manual/en/timezones.php). By default, value is 'Europe/Riga'. +The variable is timezone in PHP format. Full list of supported timezones are available on [`php.net`](http://php.net/manual/en/timezones.php). By default, value is 'Europe/Riga' and system timezone since Zabbix 5.2.0. ### `ZBX_SERVER_NAME` diff --git a/web-nginx-mysql/rhel/docker-entrypoint.sh b/web-nginx-mysql/rhel/docker-entrypoint.sh index 964f41825..1e827d21c 100755 --- a/web-nginx-mysql/rhel/docker-entrypoint.sh +++ b/web-nginx-mysql/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -66,17 +66,17 @@ check_variables() { file_env MYSQL_USER file_env MYSQL_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -86,7 +86,7 @@ check_variables() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -96,7 +96,7 @@ check_variables() { db_tls_params() { local result="" - if [ "${ZBX_DB_ENCRYPTION}" == "true" ]; then + if [ "${ZBX_DB_ENCRYPTION,,}" == "true" ]; then result="--ssl-mode=required" if [ -n "${ZBX_DB_CA_FILE}" ]; then @@ -120,7 +120,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -180,7 +180,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -202,13 +203,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -232,7 +236,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf" diff --git a/web-nginx-mysql/ubuntu/README.md b/web-nginx-mysql/ubuntu/README.md index 76571af93..89d375a05 100644 --- a/web-nginx-mysql/ubuntu/README.md +++ b/web-nginx-mysql/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-nginx-mysql/ubuntu/docker-entrypoint.sh b/web-nginx-mysql/ubuntu/docker-entrypoint.sh index 97a5f8fa8..c9f96dd80 100755 --- a/web-nginx-mysql/ubuntu/docker-entrypoint.sh +++ b/web-nginx-mysql/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -66,17 +66,17 @@ check_variables() { file_env MYSQL_USER file_env MYSQL_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -86,7 +86,7 @@ check_variables() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -96,7 +96,7 @@ check_variables() { db_tls_params() { local result="" - if [ "${ZBX_DB_ENCRYPTION}" == "true" ]; then + if [ "${ZBX_DB_ENCRYPTION,,}" == "true" ]; then result="--ssl-mode=required" if [ -n "${ZBX_DB_CA_FILE}" ]; then @@ -120,7 +120,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -180,7 +180,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -202,13 +203,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -232,7 +236,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf" diff --git a/web-nginx-pgsql/alpine/README.md b/web-nginx-pgsql/alpine/README.md index 034679d25..603a90639 100644 --- a/web-nginx-pgsql/alpine/README.md +++ b/web-nginx-pgsql/alpine/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-nginx-pgsql/alpine/docker-entrypoint.sh b/web-nginx-pgsql/alpine/docker-entrypoint.sh index b392b254d..7743fb050 100755 --- a/web-nginx-pgsql/alpine/docker-entrypoint.sh +++ b/web-nginx-pgsql/alpine/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -86,7 +86,7 @@ check_db_connect() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -167,7 +167,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -189,13 +190,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -217,7 +221,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf" diff --git a/web-nginx-pgsql/centos/README.md b/web-nginx-pgsql/centos/README.md index 034679d25..603a90639 100644 --- a/web-nginx-pgsql/centos/README.md +++ b/web-nginx-pgsql/centos/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-nginx-pgsql/centos/docker-entrypoint.sh b/web-nginx-pgsql/centos/docker-entrypoint.sh index f5acee22c..2a75059e1 100755 --- a/web-nginx-pgsql/centos/docker-entrypoint.sh +++ b/web-nginx-pgsql/centos/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -86,7 +86,7 @@ check_db_connect() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -167,7 +167,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -189,13 +190,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -217,7 +221,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf" diff --git a/web-nginx-pgsql/ubuntu/README.md b/web-nginx-pgsql/ubuntu/README.md index 034679d25..603a90639 100644 --- a/web-nginx-pgsql/ubuntu/README.md +++ b/web-nginx-pgsql/ubuntu/README.md @@ -14,10 +14,10 @@ Zabbix web interface is a part of Zabbix software. It is used to manage resource # Zabbix web interface images -These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.11, Ubuntu 18.04 (bionic) and CentOS 7 images. The available versions of Zabbix web interface are: +These are the only official Zabbix web interface Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix web interface are: - Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) - Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) + Zabbix web interface 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported) + Zabbix web interface 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported) Zabbix web interface 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported) Zabbix web interface 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported) Zabbix web interface 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported) diff --git a/web-nginx-pgsql/ubuntu/docker-entrypoint.sh b/web-nginx-pgsql/ubuntu/docker-entrypoint.sh index 67f6180ed..fef64a9ec 100755 --- a/web-nginx-pgsql/ubuntu/docker-entrypoint.sh +++ b/web-nginx-pgsql/ubuntu/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -86,7 +86,7 @@ check_db_connect() { echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" echo "* DB_SERVER_SCHEMA: ${DB_SERVER_SCHEMA}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -167,7 +167,8 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi - export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} @@ -189,13 +190,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -217,7 +221,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf" diff --git a/zabbix-appliance/rhel/docker-entrypoint.sh b/zabbix-appliance/rhel/docker-entrypoint.sh index d574d98ee..cca41a39b 100755 --- a/zabbix-appliance/rhel/docker-entrypoint.sh +++ b/zabbix-appliance/rhel/docker-entrypoint.sh @@ -5,7 +5,7 @@ set -o pipefail set +e # Script trace mode -if [ "${DEBUG_MODE}" == "true" ]; then +if [ "${DEBUG_MODE,,}" == "true" ]; then set -o xtrace fi @@ -202,17 +202,17 @@ check_variables_mysql() { file_env MYSQL_ROOT_PASSWORD - if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD}" == "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ "${MYSQL_RANDOM_ROOT_PASSWORD,,}" == "true" ]; then echo "**** Impossible to use MySQL server because of unknown Zabbix user and random 'root' password" exit 1 fi - if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" != "true" ]; then + if [ ! -n "${MYSQL_USER}" ] && [ ! -n "${MYSQL_ROOT_PASSWORD}" ] && [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" != "true" ]; then echo "*** Impossible to use MySQL server because 'root' password is not defined and it is not empty" exit 1 fi - if [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then + if [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || [ -n "${MYSQL_ROOT_PASSWORD}" ]; then USE_DB_ROOT_USER=true DB_SERVER_ROOT_USER="root" DB_SERVER_ROOT_PASS=${MYSQL_ROOT_PASSWORD:-""} @@ -222,7 +222,7 @@ check_variables_mysql() { # If root password is not specified use provided credentials : ${DB_SERVER_ROOT_USER:=${MYSQL_USER}} - [ "${MYSQL_ALLOW_EMPTY_PASSWORD}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} + [ "${MYSQL_ALLOW_EMPTY_PASSWORD,,}" == "true" ] || DB_SERVER_ROOT_PASS=${DB_SERVER_ROOT_PASS:-${MYSQL_PASSWORD}} DB_SERVER_ZBX_USER=${MYSQL_USER:-"zabbix"} DB_SERVER_ZBX_PASS=${MYSQL_PASSWORD:-"zabbix"} @@ -260,7 +260,7 @@ check_db_connect() { echo "* DB_SERVER_HOST: ${DB_SERVER_HOST}" echo "* DB_SERVER_PORT: ${DB_SERVER_PORT}" echo "* DB_SERVER_DBNAME: ${DB_SERVER_DBNAME}" - if [ "${DEBUG_MODE}" == "true" ]; then + if [ "${DEBUG_MODE,,}" == "true" ]; then if [ "${USE_DB_ROOT_USER}" == "true" ]; then echo "* DB_SERVER_ROOT_USER: ${DB_SERVER_ROOT_USER}" echo "* DB_SERVER_ROOT_PASS: ${DB_SERVER_ROOT_PASS}" @@ -450,7 +450,7 @@ update_zbx_config() { update_config_var $ZBX_CONFIG "VMwareTimeout" "${ZBX_VMWARETIMEOUT}" : ${ZBX_ENABLE_SNMP_TRAPS:="false"} - if [ "${ZBX_ENABLE_SNMP_TRAPS}" == "true" ]; then + if [ "${ZBX_ENABLE_SNMP_TRAPS,,}" == "true" ]; then update_config_var $ZBX_CONFIG "SNMPTrapperFile" "${ZABBIX_USER_HOME_DIR}/snmptraps/snmptraps.log" update_config_var $ZBX_CONFIG "StartSNMPTrapper" "1" else @@ -538,6 +538,11 @@ prepare_zbx_web_config() { echo "listen.group = nginx" >> "$PHP_CONFIG_FILE" fi + ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS:-"false"} + export ZBX_DENY_GUI_ACCESS=${ZBX_DENY_GUI_ACCESS,,} + export ZBX_GUI_ACCESS_IP_RANGE=${ZBX_GUI_ACCESS_IP_RANGE:-"['127.0.0.1']"} + export ZBX_GUI_WARNING_MSG=${ZBX_GUI_WARNING_MSG:-"Zabbix is under maintenance."} + export ZBX_MAXEXECUTIONTIME=${ZBX_MAXEXECUTIONTIME:-"600"} export ZBX_MEMORYLIMIT=${ZBX_MEMORYLIMIT:-"128M"} export ZBX_POSTMAXSIZE=${ZBX_POSTMAXSIZE:-"16M"} @@ -556,13 +561,16 @@ prepare_zbx_web_config() { export ZBX_SERVER_PORT="10051" export ZBX_SERVER_NAME=${ZBX_SERVER_NAME} - export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION:-"false"} + export ZBX_DB_ENCRYPTION=${ZBX_DB_ENCRYPTION,,} export ZBX_DB_KEY_FILE=${ZBX_DB_KEY_FILE} export ZBX_DB_CERT_FILE=${ZBX_DB_CERT_FILE} export ZBX_DB_CA_FILE=${ZBX_DB_CA_FILE} - export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST-"false"} + ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST:-"false"} + export ZBX_DB_VERIFY_HOST=${ZBX_DB_VERIFY_HOST,,} - export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754:-"true"} + export DB_DOUBLE_IEEE754=${DB_DOUBLE_IEEE754,,} export ZBX_HISTORYSTORAGEURL=${ZBX_HISTORYSTORAGEURL} export ZBX_HISTORYSTORAGETYPES=${ZBX_HISTORYSTORAGETYPES:-"[]"} @@ -586,7 +594,9 @@ prepare_zbx_web_config() { "$ZABBIX_ETC_DIR/nginx_ssl.conf" fi - if [ "${ENABLE_WEB_ACCESS_LOG:-"true"}" == "false" ]; then + ENABLE_WEB_ACCESS_LOG=${ENABLE_WEB_ACCESS_LOG:-"true"} + + if [ "${ENABLE_WEB_ACCESS_LOG,,}" == "false" ]; then sed -ri \ -e 's!^(\s*access_log).+\;!\1 off\;!g' \ "/etc/nginx/nginx.conf"