docker-compose-hstreamdb.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. version: "3.5"
  2. services:
  3. hserver:
  4. image: hstreamdb/hstream:v0.15.0
  5. container_name: hstreamdb
  6. depends_on:
  7. - zookeeper
  8. - hstore
  9. # ports:
  10. # - "127.0.0.1:6570:6570"
  11. expose:
  12. - 6570
  13. networks:
  14. - emqx_bridge
  15. volumes:
  16. - /var/run/docker.sock:/var/run/docker.sock
  17. - /tmp:/tmp
  18. - data_store:/data/store
  19. command:
  20. - bash
  21. - "-c"
  22. - |
  23. set -e
  24. /usr/local/script/wait-for-storage.sh hstore 6440 zookeeper 2181 600 \
  25. /usr/local/bin/hstream-server \
  26. --bind-address 0.0.0.0 --port 6570 \
  27. --internal-port 6571 \
  28. --server-id 100 \
  29. --seed-nodes "$$(hostname -I | awk '{print $$1}'):6571" \
  30. --advertised-address $$(hostname -I | awk '{print $$1}') \
  31. --metastore-uri zk://zookeeper:2181 \
  32. --store-config /data/store/logdevice.conf \
  33. --store-admin-host hstore --store-admin-port 6440 \
  34. --store-log-level warning \
  35. --io-tasks-path /tmp/io/tasks \
  36. --io-tasks-network emqx_bridge
  37. hstore:
  38. image: hstreamdb/hstream:v0.15.0
  39. networks:
  40. - emqx_bridge
  41. volumes:
  42. - data_store:/data/store
  43. command:
  44. - bash
  45. - "-c"
  46. - |
  47. set -ex
  48. # N.B. "enable-dscp-reflection=false" is required for linux kernel which
  49. # doesn't support dscp reflection, e.g. centos7.
  50. /usr/local/bin/ld-dev-cluster --root /data/store \
  51. --use-tcp --tcp-host $$(hostname -I | awk '{print $$1}') \
  52. --user-admin-port 6440 \
  53. --param enable-dscp-reflection=false \
  54. --no-interactive
  55. zookeeper:
  56. image: zookeeper
  57. expose:
  58. - 2181
  59. networks:
  60. - emqx_bridge
  61. volumes:
  62. - data_zk_data:/data
  63. - data_zk_datalog:/datalog
  64. ## The three container `hstream-exporter`, `prometheus`, `console`
  65. ## is for HStreamDB Web Console
  66. ## But HStreamDB Console is not supported in v0.15.0
  67. ## because of HStreamApi proto changed
  68. # hstream-exporter:
  69. # depends_on:
  70. # hserver:
  71. # condition: service_completed_successfully
  72. # image: hstreamdb/hstream-exporter
  73. # networks:
  74. # - hstream-quickstart
  75. # command:
  76. # - bash
  77. # - "-c"
  78. # - |
  79. # set -ex
  80. # hstream-exporter --addr hstream://hserver:6570
  81. # prometheus:
  82. # image: prom/prometheus
  83. # expose:
  84. # - 9097
  85. # networks:
  86. # - hstream-quickstart
  87. # ports:
  88. # - "9097:9090"
  89. # volumes:
  90. # - $PWD/prometheus:/etc/prometheus
  91. # console:
  92. # image: hstreamdb/hstream-console
  93. # depends_on:
  94. # - hserver
  95. # expose:
  96. # - 5177
  97. # networks:
  98. # - hstream-quickstart
  99. # environment:
  100. # - SERVER_PORT=5177
  101. # - PROMETHEUS_URL=http://prometheus:9097
  102. # - HSTREAM_PUBLIC_ADDRESS=hstream.example.com
  103. # - HSTREAM_PRIVATE_ADDRESS=hserver:6570
  104. # ports:
  105. # - "5177:5177"
  106. # networks:
  107. # hstream-quickstart:
  108. # name: hstream-quickstart
  109. volumes:
  110. data_store:
  111. name: quickstart_data_store
  112. data_zk_data:
  113. name: quickstart_data_zk_data
  114. data_zk_datalog:
  115. name: quickstart_data_zk_datalog