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:/var/lib/postgresql: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