Created
February 23, 2021 19:21
-
-
Save svdmitrij/f3ba24a84c4ee09891f0cc15fc6ada6c to your computer and use it in GitHub Desktop.
Zabbix server with nginx and postgresql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3.5' | |
services: | |
zabbix-server: | |
image: zabbix/zabbix-server-pgsql:centos-5.2-latest | |
ports: | |
- "10051:10051" | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /etc/timezone:/etc/timezone:ro | |
- ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro | |
- ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro | |
- ./zbx_env/var/lib/zabbix/export:/var/lib/zabbix/export:rw | |
- ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro | |
- ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro | |
- ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro | |
- ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro | |
- ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro | |
- ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro | |
- ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro | |
- ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro | |
links: | |
- postgres-server:postgres-server | |
restart: always | |
ulimits: | |
nproc: 65535 | |
nofile: | |
soft: 20000 | |
hard: 40000 | |
deploy: | |
resources: | |
limits: | |
cpus: '0.70' | |
memory: 1G | |
reservations: | |
cpus: '0.5' | |
memory: 512M | |
env_file: | |
- .env_db_pgsql | |
- .env_srv | |
secrets: | |
- POSTGRES_USER | |
- POSTGRES_PASSWORD | |
depends_on: | |
- postgres-server | |
- zabbix-snmptraps | |
networks: | |
zbx_net_backend: | |
aliases: | |
- zabbix-server | |
- zabbix-server-pgsql | |
- zabbix-server-centos-pgsql | |
- zabbix-server-pgsql-centos | |
zbx_net_frontend: | |
ipv4_address: 172.16.238.2 | |
stop_grace_period: 30s | |
sysctls: | |
- net.ipv4.ip_local_port_range=1024 65000 | |
- net.ipv4.conf.all.accept_redirects=0 | |
- net.ipv4.conf.all.secure_redirects=0 | |
- net.ipv4.conf.all.send_redirects=0 | |
labels: | |
com.zabbix.description: "Zabbix server with PostgreSQL database support" | |
com.zabbix.company: "Zabbix LLC" | |
com.zabbix.component: "zabbix-server" | |
com.zabbix.dbtype: "pgsql" | |
com.zabbix.os: "centos" | |
zabbix-web-nginx-pgsql: | |
image: zabbix/zabbix-web-nginx-pgsql:centos-5.2-latest | |
ports: | |
- "8081:8080" | |
- "8443:8443" | |
links: | |
- postgres-server:postgres-server | |
- zabbix-server:zabbix-server | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /etc/timezone:/etc/timezone:ro | |
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro | |
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro | |
restart: always | |
deploy: | |
resources: | |
limits: | |
cpus: '0.70' | |
memory: 512M | |
reservations: | |
cpus: '0.5' | |
memory: 256M | |
env_file: | |
- .env_db_pgsql | |
- .env_web | |
secrets: | |
- POSTGRES_USER | |
- POSTGRES_PASSWORD | |
depends_on: | |
- postgres-server | |
- zabbix-server | |
healthcheck: | |
test: ["CMD", "curl", "-f", "http://localhost:8080/"] | |
interval: 10s | |
timeout: 5s | |
retries: 3 | |
start_period: 30s | |
networks: | |
zbx_net_backend: | |
aliases: | |
- zabbix-web-nginx-pgsql | |
- zabbix-web-nginx-centos-pgsql | |
- zabbix-web-nginx-pgsql-centos | |
zbx_net_frontend: | |
ipv4_address: 172.16.238.3 | |
stop_grace_period: 10s | |
sysctls: | |
- net.core.somaxconn=65535 | |
labels: | |
com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support" | |
com.zabbix.company: "Zabbix LLC" | |
com.zabbix.component: "zabbix-frontend" | |
com.zabbix.webserver: "nginx" | |
com.zabbix.dbtype: "pgsql" | |
com.zabbix.os: "centos" | |
zabbix-snmptraps: | |
image: zabbix/zabbix-snmptraps:centos-5.2-latest | |
ports: | |
- "162:1162/udp" | |
volumes: | |
- snmptraps:/var/lib/zabbix/snmptraps:rw | |
deploy: | |
resources: | |
limits: | |
cpus: '0.5' | |
memory: 256M | |
reservations: | |
cpus: '0.25' | |
memory: 128M | |
networks: | |
zbx_net_frontend: | |
ipv4_address: 172.16.238.5 | |
aliases: | |
- zabbix-snmptraps | |
zbx_net_backend: | |
stop_grace_period: 5s | |
labels: | |
com.zabbix.description: "Zabbix snmptraps" | |
com.zabbix.company: "Zabbix LLC" | |
com.zabbix.component: "snmptraps" | |
com.zabbix.os: "centos" | |
postgres-server: | |
image: postgres:alpine | |
volumes: | |
- ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw | |
- ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro | |
- ./.ZBX_DB_CERT_FILE:/run/secrets/server-cert.pem:ro | |
- ./.ZBX_DB_KEY_FILE:/run/secrets/server-key.pem:ro | |
restart: always | |
env_file: | |
- .env_db_pgsql | |
secrets: | |
- POSTGRES_USER | |
- POSTGRES_PASSWORD | |
stop_grace_period: 1m | |
networks: | |
zbx_net_backend: | |
aliases: | |
- postgres-server | |
- pgsql-server | |
- pgsql-database | |
zbx_net_frontend: | |
ipv4_address: 172.16.238.4 | |
db_data_pgsql: | |
image: busybox | |
volumes: | |
- ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw | |
networks: | |
zbx_net_frontend: | |
driver: bridge | |
driver_opts: | |
com.docker.network.enable_ipv6: "false" | |
ipam: | |
driver: default | |
config: | |
- subnet: 172.16.238.0/24 | |
zbx_net_backend: | |
driver: bridge | |
driver_opts: | |
com.docker.network.enable_ipv6: "false" | |
internal: true | |
ipam: | |
driver: default | |
config: | |
- subnet: 172.16.239.0/24 | |
volumes: | |
snmptraps: | |
secrets: | |
POSTGRES_USER: | |
file: ./.POSTGRES_USER | |
POSTGRES_PASSWORD: | |
file: ./.POSTGRES_PASSWORD |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
cat .env_db_pgsql
DB_SERVER_HOST = postgres-server
POSTGRES_USER = zabbix
POSTGRES_PASSWORD = zabbix
POSTGRES_DB = zabbix
cat .env_srv
# empty
cat .env_web
ZBX_SERVER_HOST = zabbix-server