You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

112 lines
2.6 KiB

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