mirror of
https://mirror.skon.top/github.com/zabbix/zabbix-docker
synced 2026-04-20 21:00:35 +08:00
115 lines
3.2 KiB
YAML
115 lines
3.2 KiB
YAML
services:
|
|
mysql-server:
|
|
image: "${MYSQL_IMAGE}:${MYSQL_IMAGE_TAG}"
|
|
command:
|
|
- mysqld
|
|
- --skip-mysqlx
|
|
- --character-set-server=utf8mb4
|
|
- --collation-server=utf8mb4_bin
|
|
# Only during upgrade from versions prior 6.4 and new installations (schema deployment)
|
|
- --log_bin_trust_function_creators=1
|
|
# Use TLS encryption for connections to database
|
|
# - --require-secure-transport
|
|
# - --ssl-ca=/run/secrets/root-ca.pem
|
|
# - --ssl-cert=/run/secrets/server-cert.pem
|
|
# - --ssl-key=/run/secrets/server-key.pem
|
|
restart: "${RESTART_POLICY}"
|
|
attach: false
|
|
volumes:
|
|
- ${DATA_DIRECTORY}/var/lib/mysql:/var/lib/mysql:rw
|
|
- ${ENV_VARS_DIRECTORY}/mysql_init/init_proxy_db.sql:/docker-entrypoint-initdb.d/mysql_init_proxy.sql:ro
|
|
# - mysql_socket:/var/run/mysqld/
|
|
env_file:
|
|
- path: ${ENV_VARS_DIRECTORY}/.env_db_mysql
|
|
required: true
|
|
- path: ${ENV_VARS_DIRECTORY}/.env_db_mysql_override
|
|
required: false
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/MYSQL_ROOT_PASSWORD
|
|
secrets:
|
|
- MYSQL_USER
|
|
- MYSQL_PASSWORD
|
|
- MYSQL_ROOT_PASSWORD
|
|
# - server-key.pem
|
|
# - server-cert.pem
|
|
# - root-ca.pem
|
|
stop_grace_period: 1m
|
|
tmpfs: /tmp
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- mysqladmin ping -uroot -p"$$(cat /run/secrets/MYSQL_ROOT_PASSWORD)" --silent
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 12
|
|
start_period: 30s
|
|
networks:
|
|
database:
|
|
aliases:
|
|
- mysql-server
|
|
|
|
postgres-server:
|
|
image: "${POSTGRESQL_IMAGE}:${POSTGRESQL_IMAGE_TAG}"
|
|
# command: -c ssl=on -c ssl_cert_file=/run/secrets/server-cert.pem -c ssl_key_file=/run/secrets/server-key.pem -c ssl_ca_file=/run/secrets/root-ca.pem
|
|
restart: "${RESTART_POLICY}"
|
|
attach: false
|
|
volumes:
|
|
- ${DATA_DIRECTORY}/var/lib/postgresql/data:/var/lib/postgresql/data:rw
|
|
# - ${ENV_VARS_DIRECTORY}/.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
|
|
# - ${ENV_VARS_DIRECTORY}/.ZBX_DB_CERT_FILE:/run/secrets/server-cert.pem:ro
|
|
# - ${ENV_VARS_DIRECTORY}/.ZBX_DB_KEY_FILE:/run/secrets/server-key.pem:ro
|
|
# - pgsql_socket:/var/run/postgresql/
|
|
env_file:
|
|
- path: ${ENV_VARS_DIRECTORY}/.env_db_pgsql
|
|
required: true
|
|
- path: ${ENV_VARS_DIRECTORY}/.env_db_pgsql_override
|
|
required: false
|
|
secrets:
|
|
- POSTGRES_USER
|
|
- POSTGRES_PASSWORD
|
|
stop_grace_period: 1m
|
|
tmpfs: /tmp
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- pg_isready -U "$$(cat /run/secrets/POSTGRES_USER)" -d "$${POSTGRES_DB}" || exit 1
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 12
|
|
start_period: 30s
|
|
networks:
|
|
database:
|
|
aliases:
|
|
- postgres-server
|
|
|
|
elasticsearch:
|
|
image: "${ELASTICSEARCH_IMAGE}:${ELASTICSEARCH_IMAGE_TAG}"
|
|
restart: "${RESTART_POLICY}"
|
|
attach: false
|
|
profiles:
|
|
- elasticsearch
|
|
environment:
|
|
- discovery.type=single-node
|
|
- xpack.security.enabled=false
|
|
- ES_JAVA_OPTS=-Xms128m -Xmx128m
|
|
ulimits:
|
|
nofile:
|
|
soft: 65536
|
|
hard: 65536
|
|
volumes:
|
|
- ${DATA_DIRECTORY}/usr/share/elasticsearch/data:/usr/share/elasticsearch/data:rw
|
|
tmpfs: /tmp
|
|
stop_grace_period: 1m
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- curl -fsS http://localhost:9200/_cluster/health?wait_for_status=yellow\\&timeout=5s >/dev/null || exit 1
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 20
|
|
start_period: 40s
|
|
networks:
|
|
database:
|
|
aliases:
|
|
- elasticsearch
|