Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

100 righe
2.4 KiB

  1. services:
  2. emqx:
  3. image: emqx/emqx:5.8.8
  4. container_name: emqx
  5. environment:
  6. - EMQX_DASHBOARD__DEFAULT_USERNAME=user
  7. - EMQX_DASHBOARD__DEFAULT_PASSWORD=pass
  8. ports:
  9. - "127.0.0.1:1883:1883"
  10. healthcheck:
  11. test: ["CMD", "curl", "-f", "http://localhost:18083/api/v5/status"]
  12. interval: 10s
  13. timeout: 5s
  14. retries: 10
  15. start_period: 20s
  16. kafka:
  17. image: apache/kafka:3.9.0
  18. container_name: kafka
  19. healthcheck:
  20. test: ["CMD-SHELL", "nc -z localhost 9092"]
  21. interval: 10s
  22. timeout: 5s
  23. retries: 10
  24. environment:
  25. - KAFKA_NODE_ID=1
  26. - KAFKA_PROCESS_ROLES=broker,controller
  27. - KAFKA_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
  28. - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
  29. - KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
  30. - KAFKA_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
  31. - KAFKA_LOG_DIRS=/tmp/kraft-combined-logs
  32. - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
  33. - KAFKA_AUTO_CREATE_TOPICS_ENABLE=true
  34. ports:
  35. - "127.0.0.1:9092:9092"
  36. valkey:
  37. image: valkey/valkey:9.0.0
  38. container_name: valkey
  39. ports:
  40. - "127.0.0.1:6379:6379"
  41. node-red:
  42. image: nodered/node-red:latest-22
  43. container_name: node-red
  44. ports:
  45. - "127.0.0.1:1880:1880"
  46. volumes:
  47. - "../volumes/node-red:/data"
  48. presense-decoder:
  49. build:
  50. context: ../
  51. dockerfile: build/package/Dockerfile.decoder
  52. network: host
  53. image: presense-decoder
  54. container_name: presense-decoder
  55. environment:
  56. - REDIS_URL=valkey:6379
  57. - KAFKA_URL=kafka:9092
  58. depends_on:
  59. - kafka
  60. - valkey
  61. restart: always
  62. presense-server:
  63. build:
  64. context: ../
  65. dockerfile: build/package/Dockerfile.server
  66. network: host
  67. image: presense-server
  68. container_name: presense-server
  69. environment:
  70. - REDIS_URL=valkey:6379
  71. - KAFKA_URL=kafka:9092
  72. depends_on:
  73. - kafka
  74. - emqx
  75. ports:
  76. - "127.0.0.1:1902:1902"
  77. restart: always
  78. presense-bridge:
  79. build:
  80. context: ../
  81. dockerfile: build/package/Dockerfile.bridge
  82. network: host
  83. image: presense-bridge
  84. container_name: presense-bridge
  85. environment:
  86. - KAFKA_URL=kafka:9092
  87. - MQTT_HOST=192.168.1.101:1883
  88. - MQTT_USERNAME=user
  89. - MQTT_PASSWORD=pass
  90. depends_on:
  91. kafka:
  92. condition: service_healthy
  93. restart: always