emqx/.ci/docker-compose-file/docker-compose-mysql-tls.yaml

38 lines
1.2 KiB
YAML

version: '3.9'
services:
mysql_server_tls:
container_name: mysql-tls
image: public.ecr.aws/docker/library/mysql:${MYSQL_TAG}
restart: always
environment:
MYSQL_ROOT_PASSWORD: public
MYSQL_DATABASE: mqtt
MYSQL_USER: user
MYSQL_PASSWORD: public
volumes:
- ./certs/ca.crt:/etc/certs/ca-cert.pem
- ./certs/server.crt:/etc/certs/server-cert.pem
- ./certs/server.key:/etc/certs/server-key.pem
ports:
- "3307:3306"
networks:
- emqx_bridge
command:
- --bind-address=0.0.0.0
- --port=3306
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --lower-case-table-names=1
- --max-allowed-packet=128M
# Severely limit maximum number of prepared statements the server must permit
# so that we hit potential resource exhaustion earlier in tests.
- --max-prepared-stmt-count=64
- --ssl-ca=/etc/certs/ca-cert.pem
- --ssl-cert=/etc/certs/server-cert.pem
- --ssl-key=/etc/certs/server-key.pem
- --require-secure-transport=ON
- --tls-version=TLSv1.2,TLSv1.3
- --ssl-cipher=ECDHE-RSA-AES256-GCM-SHA384