您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

116 行
2.5 KiB

  1. services:
  2. db:
  3. image: postgres:18
  4. container_name: db
  5. restart: always
  6. env_file:
  7. - ./env/db.env
  8. healthcheck:
  9. test: ["CMD-SHELL", "pg_isready -U postgres"]
  10. interval: 5s
  11. timeout: 5s
  12. retries: 5
  13. start_period: 30s
  14. volumes:
  15. - pgdata:/var/postgresql/data
  16. kafdrop:
  17. image: obsidiandynamics/kafdrop
  18. restart: "no"
  19. ports:
  20. - "127.0.0.1:9000:9000"
  21. env_file:
  22. - ./env/kafdrop.env
  23. depends_on:
  24. - "kafka"
  25. kafka:
  26. image: apache/kafka:3.9.0
  27. restart: "no"
  28. ports:
  29. - "127.0.0.1:9092:9092"
  30. - "127.0.0.1:9093:9093"
  31. env_file:
  32. - ./env/kafka.env
  33. healthcheck:
  34. test: ["CMD-SHELL", "/opt/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list"]
  35. interval: 10s
  36. timeout: 5s
  37. retries: 10
  38. start_period: 20s
  39. volumes:
  40. - kafkadata:/var/lib/kafka/data
  41. kafka-init:
  42. image: apache/kafka:3.9.0
  43. command: [ "sh", "-c", "ls -l /tmp/create_topic.sh && /tmp/create_topic.sh" ]
  44. depends_on:
  45. kafka:
  46. condition: service_healthy
  47. volumes:
  48. - ./init-scripts/create_topic.sh:/tmp/create_topic.sh
  49. env_file:
  50. - ./env/kafka-init.env
  51. valkey:
  52. image: valkey/valkey:9.0.0
  53. container_name: valkey
  54. ports:
  55. - "127.0.0.1:6379:6379"
  56. presense-decoder:
  57. image: presense-decoder
  58. container_name: presense-decoder
  59. env_file:
  60. - ./env/presense-decoder.env
  61. depends_on:
  62. kafka-init:
  63. condition: service_completed_successfully
  64. db:
  65. condition: service_healthy
  66. restart: always
  67. presense-server:
  68. image: presense-server
  69. container_name: presense-server
  70. env_file:
  71. - ./env/presense-server.env
  72. ports:
  73. - "127.0.0.1:1902:1902"
  74. depends_on:
  75. valkey:
  76. condition: service_started
  77. kafka-init:
  78. condition: service_completed_successfully
  79. db:
  80. condition: service_healthy
  81. restart: always
  82. presense-bridge:
  83. image: presense-bridge
  84. container_name: presense-bridge
  85. env_file:
  86. - ./env/presense-bridge.env
  87. depends_on:
  88. kafka-init:
  89. condition: service_completed_successfully
  90. db:
  91. condition: service_healthy
  92. restart: always
  93. presense-location:
  94. image: presense-location
  95. container_name: presense-location
  96. env_file:
  97. - ./env/presense-location.env
  98. depends_on:
  99. kafka-init:
  100. condition: service_completed_successfully
  101. db:
  102. condition: service_healthy
  103. restart: always
  104. volumes:
  105. pgdata:
  106. kafkadata: