Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 

136 rindas
2.9 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: unless-stopped
  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: unless-stopped
  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. presense-decoder:
  52. image: presense-decoder
  53. container_name: presense-decoder
  54. env_file:
  55. - ./env/presense-decoder.env
  56. environment:
  57. LOG_LEVEL: "info"
  58. depends_on:
  59. kafka-init:
  60. condition: service_completed_successfully
  61. db:
  62. condition: service_healthy
  63. restart: always
  64. logging:
  65. driver: "json-file"
  66. options:
  67. max-size: "10m"
  68. max-file: "3"
  69. presense-server:
  70. image: presense-server
  71. container_name: presense-server
  72. env_file:
  73. - ./env/presense-server.env
  74. environment:
  75. LOG_LEVEL: "info"
  76. ports:
  77. - "127.0.0.1:1902:1902"
  78. depends_on:
  79. kafka-init:
  80. condition: service_completed_successfully
  81. db:
  82. condition: service_healthy
  83. restart: always
  84. logging:
  85. driver: "json-file"
  86. options:
  87. max-size: "10m"
  88. max-file: "3"
  89. presense-bridge:
  90. image: presense-bridge
  91. container_name: presense-bridge
  92. env_file:
  93. - ./env/presense-bridge.env
  94. environment:
  95. LOG_LEVEL: "info"
  96. depends_on:
  97. kafka-init:
  98. condition: service_completed_successfully
  99. db:
  100. condition: service_healthy
  101. restart: always
  102. logging:
  103. driver: "json-file"
  104. options:
  105. max-size: "10m"
  106. max-file: "3"
  107. presense-location:
  108. image: presense-location
  109. container_name: presense-location
  110. env_file:
  111. - ./env/presense-location.env
  112. environment:
  113. LOG_LEVEL: "info"
  114. depends_on:
  115. kafka-init:
  116. condition: service_completed_successfully
  117. db:
  118. condition: service_healthy
  119. restart: always
  120. logging:
  121. driver: "json-file"
  122. options:
  123. max-size: "10m"
  124. max-file: "3"
  125. volumes:
  126. pgdata:
  127. kafkadata: