version: '3' # We put everything in a seperate network so it doesn't matter # that the passwords in this file are simple and known - you can't access it. networks: zabbix: {} services: postgres-server: image: {{ const.image.postgres }} container_name: postgres-server environment: - POSTGRES_PASSWORD=postgres - PGDATA=/data/pgdata restart: always volumes: - {{ homedir }}/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - {{ homedir }}/appdefinition/dbsetup.sh:/docker-entrypoint-initdb.d/dbsetup.sh healthcheck: test: psql -U postgres -c "select version();" || exit 1 interval: 5s timeout: 2s retries: 3 zabbix: image: {{ const.image.zabbix }} container_name: zabbix restart: always volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro environment: - POSTGRES_USER=zabbix - POSTGRES_PASSWORD=zabbix - POSTGRES_DB=zabbix - DB_SERVER_HOST=postgres-server - TZ=Europe/Brussels depends_on: postgres-server: condition: service_healthy restart: true init: true web: image: {{ const.image.web }} container_name: web environment: - POSTGRES_USER=zabbix - POSTGRES_PASSWORD=zabbix - POSTGRES_DB=zabbix - DB_SERVER_HOST=postgres-server - ZBX_SERVER_HOST=zabbix - PHP_TZ=Europe/Brussels - TZ=Europe/Brussels restart: always depends_on: postgres-server: condition: service_healthy restart: true ports: - '127.0.0.1:{{ ports.web }}:8080'