Zabbix Docker-Compose Setup

Zabbix Server 5.4
Docker Compose Setup
This article is based on a fork of the official Zabbix Server Repo with a few changes for a production setup:
Changes:
- Removed everything I don't need - this file only sets up the Zabbix Server with a Postgres backend, the Zabbix Server Dashboard frontend using NGINX and an Zabbix Agent 1 to monitor the server itself.
- Added container names, container restart policies and fixed IP addresses (The Zabbix Agent Container IP is set to
172.16.239.106- MAKE SURE to change the agent address from default127.0.0.1to172.16.239.106inside the Server Dashboard! see below). - Added an additional external network
ingress_gatewaythat will be used by the system ingress to direct traffic to Zabbix. The web frontend container opens both port8080and8443to debug the initial setup (SSL will be handled by the Ingress and is not configured on port8443). The ports can be commented out later. Make sure to either remove theingress_gatewayfrom the configuration file or add it manuallydocker network create ingress_gatewaybefore starting the containers.

Run
Before running the compose file, check the ./env_vars files and change what needs to be changed (passwords!).
docker network create ingress_gateway
docker-compose up
Check the console output for errors and visit the Zabbix Dashboard on your server IP on port :8081.