zabbix-docker is a free, open source monitoring & observability project written in Dockerfile and released under AGPL-3.0. It has 2,840 GitHub stars, 1,446 forks and 7 open issues, and was last pushed 5 hours ago. On this registry it ranks #140 of 271 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

What is zabbix-docker?

zabbix-docker is the official repository of Zabbix Dockerfiles that builds the zabbix/* images published to Docker Hub, for operators, SREs, and platform teams that deploy the Zabbix enterprise-class open source distributed monitoring solution in containers.

What it is

zabbix-docker holds the Dockerfiles behind the official Zabbix container images. Every Zabbix component ships as its own image, built on a base of alpine, centos, oracle linux, or ubuntu, and published to the public Docker Hub Registry under the zabbix namespace through Docker's automated build. The repository lives squarely in the Docker ecosystem and its images are the supported container packaging of Zabbix itself.

The concrete problem it solves is installation sprawl. Instead of installing and maintaining the Zabbix server, the web frontend, proxies, agents, the Java gateway, the web service, and the SNMP trap receiver separately on each host, an operator pulls one image per role and runs them as containers. That replaces hand-built, per-component host installations with a repeatable image pull, and the README points to the manual/installation/containers section of the official Zabbix documentation for the usage model.

Key capabilities

  • Server images split by database backend: zabbix-server-mysql for MySQL or MariaDB and zabbix-server-pgsql for PostgreSQL.
  • Web interface images pairing Apache2 or Nginx with either database: zabbix-web-apache-mysql, zabbix-web-apache-pgsql, zabbix-web-nginx-mysql, zabbix-web-nginx-pgsql.
  • Agent images for both agent generations: zabbix-agent and zabbix-agent2.
  • Proxy images for distributed monitoring: zabbix-proxy-sqlite3 and zabbix-proxy-mysql.
  • Companion service images: zabbix-java-gateway for Java monitoring, zabbix-web-service for headless web browser tasks such as reporting, and zabbix-snmptraps for the server and proxy.
  • Docker Compose files for multi-container stacks, which the README states require make and docker compose version 2.24.0 or greater.
  • Builds across four base images with CI workflows for DockerHub image builds on Linux and Windows.

Who uses it and how

  • Teams self-hosting Zabbix that want server, frontend, and database roles as separate containers wired together with Docker Compose.
  • Shops standardized on MySQL or MariaDB, or alternatively on PostgreSQL, that pick the matching server and web image pair instead of mixing backends.
  • Distributed monitoring setups that place zabbix-proxy-sqlite3 or zabbix-proxy-mysql at remote sites, buffering locally on SQLite3 or MySQL.
  • Environments monitoring Java applications that add zabbix-java-gateway beside the server.
  • Networks collecting SNMP traps that deploy zabbix-snmptraps next to Zabbix server and proxy.

Getting started

Pull the component images from Docker Hub under the zabbix namespace, such as zabbix/zabbix-server-mysql, zabbix/zabbix-web-nginx-mysql, and zabbix/zabbix-agent2, or use the repository's Docker Compose files with make and docker compose 2.24.0 or greater. Usage instructions live in the official Zabbix documentation under manual/installation/containers.

How it compares

The facts provided name no comparable tools, so zabbix-docker stands alone in this registry. Any contrast has to be drawn against the non-container Zabbix installation methods documented by the project itself, not against other entries here.

When to use it — and when not to

A self-hoster must still operate the database (MySQL or MariaDB, or PostgreSQL), the web server container, and the companion services such as the Java gateway, the web service, and the SNMP trap receiver, and the Compose path additionally requires make and Docker Compose 2.24.0 or greater. Teams that want a single all-in-one appliance, or that would rather not run and back up a database at all, should look elsewhere. The README excerpt here is short and defers the real instructions to zabbix.com, so it is not a standalone quickstart.

project readme (upstream, from github) — read inline

Zabbix Logo

OpenSSF Scorecard Quality Gate Status

Build images (DockerHub) Build images (DockerHub, Windows)

What is Zabbix?

Zabbix is an enterprise-class open source distributed monitoring solution.

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.

For more information and related downloads for Zabbix components, please visit https://hub.docker.com/u/zabbix/ and https://zabbix.com

Zabbix Dockerfiles

This repository contains Dockerfile of Zabbix for Docker's automated build published to the public Docker Hub Registry.

Base Docker Image

Usage

There is some documentation and examples in the official Zabbix Documentation!

Please also follow usage instructions of each Zabbix component image:

Docker Compose

[!NOTE] The following requires make and docker compose version 2.24.0 or greater.

You can use the Docker Compose files for MySQL or MariaDB, and PostgreSQL (compose.yaml and compose_pgsql.yaml, respectively) directly with the docker compose command. The required images and the Compose file behavior can be configured through environment variables and the .env file. By default, Alpine-based images and the latest version from the current branch are used.

In addition, a Makefile is provided to configure and run the required Docker Compose files, supporting a variety of base operating system and database engine combinations, as well as to build Zabbix components locally.

To get started clone this repository and then from the root directory of the repository run:

make help

To start with the default configuration run:

make up

Use variables to customize the configuration to suit your needs. For example, the following selects Postgres as the underlying database, alpine as the base OS, and exposes the web interface on ports 8282 and 8443:

make up DB=pgsql OS=alpine ZABBIX_WEB_NGINX_HTTP_PORT=8282 ZABBIX_WEB_NGINX_HTTPS_PORT=8443

Then to clean up run:

make down DB=pgsql

Provided compose files support several Compose profiles. Minimal set of services is brought up by default, to start additional components e.g. Zabbix Agent use profile 'full' or 'all'. Additionally, it is possible to start only required components.

Issues and Wiki

Be sure to check the Wiki-page on common problems and questions. If you still have problems with or questions about the images, please contact us through a GitHub issue.

[!NOTE] Please report here issues and feature requests related to Docker images only. If you have issues or ideas how to improve Zabbix, use official bug tracker.

Contributing

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.

Before you start to code, we recommend discussing your plans through a GitHub issue, 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.

License

Starting from Zabbix version 7.0, all subsequent Zabbix versions will be released under the GNU Affero General Public License version 3 (AGPLv3). You can modify the relevant version and propagate such modified version under the terms of the AGPLv3 as published by the Free Software Foundation. For additional details, including answers to common questions about the AGPLv3, see the generic FAQ from the Free Software Foundation.

Zabbix is Open Source Software, however, if you use Zabbix in a commercial context we kindly ask you to support the development of Zabbix by purchasing some level of technical support. All previous Zabbix software versions up to 6.4 are released under the GNU General Public License version 2 (GPLv2). The formal terms of the GPLv2 and AGPLv3 can be found at http://www.fsf.org/licenses/.

Frequently asked questions

Is zabbix-docker free to use?

zabbix-docker is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does zabbix-docker do?

Official Zabbix Dockerfiles

What is zabbix-docker written in?

zabbix-docker is primarily written in Dockerfile. Its source is publicly available at https://github.com/zabbix/zabbix-docker, and it has 2,840 GitHub stars.