docker-compose-mysql-tls.yaml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. version: '3.9'
  2. services:
  3. mysql_server_tls:
  4. container_name: mysql-tls
  5. image: mysql:${MYSQL_TAG}
  6. restart: always
  7. environment:
  8. MYSQL_ROOT_PASSWORD: public
  9. MYSQL_DATABASE: mqtt
  10. MYSQL_USER: user
  11. MYSQL_PASSWORD: public
  12. volumes:
  13. - ./certs/ca.crt:/etc/certs/ca-cert.pem
  14. - ./certs/server.crt:/etc/certs/server-cert.pem
  15. - ./certs/server.key:/etc/certs/server-key.pem
  16. ports:
  17. - "3307:3306"
  18. networks:
  19. - emqx_bridge
  20. command:
  21. - --bind-address=0.0.0.0
  22. - --port=3306
  23. - --character-set-server=utf8mb4
  24. - --collation-server=utf8mb4_general_ci
  25. - --lower-case-table-names=1
  26. - --max-allowed-packet=128M
  27. # Severely limit maximum number of prepared statements the server must permit
  28. # so that we hit potential resource exhaustion earlier in tests.
  29. - --max-prepared-stmt-count=64
  30. - --ssl-ca=/etc/certs/ca-cert.pem
  31. - --ssl-cert=/etc/certs/server-cert.pem
  32. - --ssl-key=/etc/certs/server-key.pem
  33. - --require-secure-transport=ON
  34. - --tls-version=TLSv1.2,TLSv1.3
  35. - --ssl-cipher=ECDHE-RSA-AES256-GCM-SHA384