<p>Zabbix is an enterprise-class open source distributed monitoring solution.</p>
<p>Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers. Zabbix uses a flexible notification mechanism that allows users to configure e-mail based alerts for virtually any event. This allows a fast reaction to server problems. Zabbix offers excellent reporting and data visualisation features based on the stored data. This makes Zabbix ideal for capacity planning.</p>
<p>For more information and related downloads for Zabbix components, please visit <ahref="https://hub.docker.com/u/zabbix/">https://hub.docker.com/u/zabbix/</a> and <ahref="https://zabbix.com">https://zabbix.com</a></p>
<h1id="what-is-zabbix-web-interface-">What is Zabbix web interface?</h1>
<p>Zabbix web interface is a part of Zabbix software. It is used to manage resources under monitoring and view monitoring statistics.</p>
<h1id="zabbix-web-interface-images">Zabbix web interface images</h1>
<p>These are the only official Zabbix web interface Podman images. Images are updated when new releases are published.</p>
<p>Zabbix web interface available in four editions, but only one as Red Hat Certified container:</p>
<ul>
<li>Zabbix web-interface based on Apache2 web server with MySQL database support</li>
<li>Zabbix web-interface based on Apache2 web server with PostgreSQL database support</li>
<li>Zabbix web-interface based on Nginx web server with MySQL database support</li>
<li>Zabbix web-interface based on Nginx web server with PostgreSQL database support</li>
</ul>
<p>The image based on Nginx web server with MySQL database support.</p>
<h1id="how-to-use-this-image">How to use this image</h1>
</code></pre><p>Where <code>some-zabbix-web-nginx-mysql</code> is the name you want to assign to your container, <code>some-mysql-server</code> is IP or DNS name of MySQL server, <code>some-user</code> is user to connect to Zabbix database on MySQL server, <code>some-password</code> is the password to connect to MySQL server, <code>some-zabbix-server</code> is IP or DNS name of Zabbix server or proxy, <code>some-timezone</code> is PHP like timezone name and <code>tag</code> is the tag specifying the version you want.</p>
<h2id="linking-the-container-to-zabbix-server">Linking the container to Zabbix server</h2>
</code></pre><h2id="container-shell-access-and-viewing-zabbix-web-interface-logs">Container shell access and viewing Zabbix web interface logs</h2>
<p>The <code>podman exec</code> command allows you to run commands inside a Podman container. The following command line will give you a bash shell inside your <code>zabbix-web-nginx-mysql</code> container:</p>
<p>When you start the <code>zabbix-web-nginx-mysql</code> image, you can adjust the configuration of the Zabbix web interface by passing one or more environment variables on the <code>podman run</code> command line.</p>
<p>These variables are used by Zabbix web-interface to connect to Zabbix database. With the <code>_FILE</code> variables you can instead provide the path to a file which contains the user / the password instead. Without Docker Swarm or Kubernetes you also have to map the files. Those are exclusive so you can just provide one type - either <code>MYSQL_USER</code> or <code>MYSQL_USER_FILE</code>!</p>
<p>Array of value types to be sent to the history storage. An example: ['uint', 'dbl']. This parameter is used for Elasticsearch setup. Available since 3.4.5.</p>
<h3id="-php_tz-"><code>PHP_TZ</code></h3>
<p>The variable is timezone in PHP format. Full list of supported timezones are available on <ahref="http://php.net/manual/en/timezones.php"><code>php.net</code></a>. By default, value is 'Europe/Riga' and system timezone since Zabbix 5.2.0.</p>
<p>The variable is Zabbix frontend <ahref="https://www.zabbix.com/documentation/6.4/manual/web_interface/definitions">definition</a>. String used as the name of the Zabbix frontend session cookie. By default, value is <code>zbx_sessionid</code>.</p>
<p>The variable allows to activate encryption for connections to Zabbix database. Even if no other environment variables are specified, connections will be TLS-encrypted if <code>ZBX_DB_ENCRYPTION=true</code> specified. Available since 5.0.0. Disabled by default.</p>
<p>The variable allows to specify a custom list of valid ciphers. The format of the cipher list must conform to the OpenSSL standard. Available since 5.0.0.</p>
<p>The volume allows to enable HTTPS for the Zabbix web interface. The volume must contains three files <code>ssl.crt</code>, <code>ssl.key</code> and <code>dhparam.pem</code> prepared for Nginx SSL connections.</p>
<p>Please follow official Nginx <ahref="http://nginx.org/en/docs/http/configuring_https_servers.html">documentation</a> to get more details about how to create certificate files.</p>
<p>The volume allows to use custom certificates for SAML authentification. The volume must contains three files <code>sp.key</code>, <code>sp.crt</code> and <code>idp.crt</code>. Available since 5.0.0.</p>
<p>Documentation for this image is stored in the <ahref="https://github.com/zabbix/zabbix-docker/tree/6.4/Dockerfiles/web-nginx-mysql"><code>web-nginx-mysql/</code> directory</a> of the <ahref="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <ahref="https://github.com/zabbix/zabbix-docker/blob/6.4/README.md">repository's <code>README.md</code> file</a> before attempting a pull request.</p>
<p>If you have any problems with or questions about this image, please contact us through a <ahref="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3id="known-issues">Known issues</h3>
<h2id="contributing">Contributing</h2>
<p>You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.</p>
<p>Before you start to code, we recommend discussing your plans through a <ahref="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.</p>