61 lines
1.6 KiB
Django/Jinja
61 lines
1.6 KiB
Django/Jinja
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'
|