From 1eea04343165eb75e97381fb815fcf3b30822313 Mon Sep 17 00:00:00 2001 From: "McDonnell, Marshall" Date: Fri, 29 Aug 2025 16:20:25 -0400 Subject: [PATCH 1/3] Adds docker compose for full setup --- docker-compose-full.yml | 94 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 docker-compose-full.yml diff --git a/docker-compose-full.yml b/docker-compose-full.yml new file mode 100644 index 0000000..545d9ff --- /dev/null +++ b/docker-compose-full.yml @@ -0,0 +1,94 @@ +# Simple docker-compose file which sets up all needed backing services +# Note that for the broker, the default credentials are ` intersect_username / intersect_password ` +# NOTE: DOES NOT CONTAIN APPLICATION, ONLY BACKING SERVICES + +services: + broker_1: + image: "bitnami/rabbitmq:3.13.3" + #network_mode: host + ports: + - "1883:1883" # MQTT port + - "5672:5672" # AMQP port + - "15672:15672" # Web UI + environment: + # full list of env variables available at https://github.com/bitnami/containers/blob/main/bitnami/rabbitmq/README.md + RABBITMQ_PLUGINS: "rabbitmq_management rabbitmq_mqtt" + RABBITMQ_USERNAME: "intersect_username" + RABBITMQ_PASSWORD: "intersect_password" + RABBITMQ_MANAGEMENT_ALLOW_WEB_ACCESS: "yes" + healthcheck: + test: rabbitmq-diagnostics -q ping && rabbitmq-diagnostics -q check_running && rabbitmq-diagnostics -q check_local_alarms + interval: 10s + retries: 5 + start_period: 10s + timeout: 10s + + # add 1 to each port number for the second broker + broker_2: + image: "bitnami/rabbitmq:3.13.3" + ports: + - "1884:1883" # MQTT port + - "5673:5672" # AMQP port + - "15673:15672" # Web UI + environment: + # full list of env variables available at https://github.com/bitnami/containers/blob/main/bitnami/rabbitmq/README.md + RABBITMQ_PLUGINS: "rabbitmq_management rabbitmq_mqtt" + RABBITMQ_USERNAME: "intersect_username" + RABBITMQ_PASSWORD: "intersect_password" + RABBITMQ_MANAGEMENT_ALLOW_WEB_ACCESS: "yes" + healthcheck: + test: rabbitmq-diagnostics -q ping && rabbitmq-diagnostics -q check_running && rabbitmq-diagnostics -q check_local_alarms + interval: 10s + retries: 5 + start_period: 10s + timeout: 10s + + proxy-server-on-broker-1: + image: proxy-server + build: + context: . + args: + BIN_NAME: "proxy-http-server" + ports: + - "8080:8080" + environment: + PROXYAPP_PRODUCTION: "true" + PROXYAPP_LOG_LEVEL: "debug" + PROXYAPP_BROKER__USERNAME: "intersect_username" + PROXYAPP_BROKER__PASSWORD: "intersect_password" + PROXYAPP_BROKER__HOST: "broker_1" + PROXYAPP_BROKER__PORT: 5672 + PROXYAPP_TOPIC_PREFIX: "org.fac.sys" + PROXYAPP_APP_PORT: 8080 + PROXYAPP_USERNAME: "username" + PROXYAPP_PASSWORD: "password" + depends_on: + broker_1: + condition: service_healthy + restart: true + broker_2: + condition: service_healthy + restart: true + + proxy-client-on-broker-2: + image: proxy-client + build: + context: . + args: + BIN_NAME: "proxy-http-client" + environment: + PROXYAPP_PRODUCTION: "true" + PROXYAPP_LOG_LEVEL: "debug" + PROXYAPP_BROKER__USERNAME: "intersect_username" + PROXYAPP_BROKER__PASSWORD: "intersect_password" + PROXYAPP_BROKER__HOST: "broker_2" + PROXYAPP_BROKER__PORT: 5672 + PROXYAPP_TOPIC_PREFIX: "org.fac.sys" + PROXYAPP_OTHER_PROXY__URL: "http://proxy-server-on-broker-1:8080" + PROXYAPP_OTHER_PROXY__USERNAME: "username" + PROXYAPP_OTHER_PROXY__PASSWORD: "password" + depends_on: + proxy-server-on-broker-1: + condition: service_started + restart: true + From 47fb54221e02cc2bb77df2fb9f586d215847e9e6 Mon Sep 17 00:00:00 2001 From: "McDonnell, Marshall" Date: Fri, 29 Aug 2025 16:27:50 -0400 Subject: [PATCH 2/3] Fixes notes in full docker compose yaml --- docker-compose-full.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docker-compose-full.yml b/docker-compose-full.yml index 545d9ff..0b9bc66 100644 --- a/docker-compose-full.yml +++ b/docker-compose-full.yml @@ -1,6 +1,4 @@ -# Simple docker-compose file which sets up all needed backing services -# Note that for the broker, the default credentials are ` intersect_username / intersect_password ` -# NOTE: DOES NOT CONTAIN APPLICATION, ONLY BACKING SERVICES +# docker-compose file which sets up all needed backing services + applications services: broker_1: From 2ebf973fed0680678a1ec92462471d7a0afcd4db Mon Sep 17 00:00:00 2001 From: Lance-Drane Date: Tue, 9 Sep 2025 09:49:04 -0400 Subject: [PATCH 3/3] update docker-compose-full.yml to work with multi-protocols Signed-off-by: Lance-Drane --- docker-compose-full.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docker-compose-full.yml b/docker-compose-full.yml index 0b9bc66..4f1bf0f 100644 --- a/docker-compose-full.yml +++ b/docker-compose-full.yml @@ -51,11 +51,12 @@ services: - "8080:8080" environment: PROXYAPP_PRODUCTION: "true" - PROXYAPP_LOG_LEVEL: "debug" + PROXYAPP_LOG_LEVEL: "debug" PROXYAPP_BROKER__USERNAME: "intersect_username" PROXYAPP_BROKER__PASSWORD: "intersect_password" PROXYAPP_BROKER__HOST: "broker_1" - PROXYAPP_BROKER__PORT: 5672 + PROXYAPP_BROKER__PORT: 5672 + PROXYAPP_BROKER__PROTOCOL: "amqp" PROXYAPP_TOPIC_PREFIX: "org.fac.sys" PROXYAPP_APP_PORT: 8080 PROXYAPP_USERNAME: "username" @@ -64,9 +65,6 @@ services: broker_1: condition: service_healthy restart: true - broker_2: - condition: service_healthy - restart: true proxy-client-on-broker-2: image: proxy-client @@ -76,17 +74,20 @@ services: BIN_NAME: "proxy-http-client" environment: PROXYAPP_PRODUCTION: "true" - PROXYAPP_LOG_LEVEL: "debug" + PROXYAPP_LOG_LEVEL: "debug" PROXYAPP_BROKER__USERNAME: "intersect_username" PROXYAPP_BROKER__PASSWORD: "intersect_password" PROXYAPP_BROKER__HOST: "broker_2" PROXYAPP_BROKER__PORT: 5672 + PROXYAPP_BROKER__PROTOCOL: "amqp" PROXYAPP_TOPIC_PREFIX: "org.fac.sys" - PROXYAPP_OTHER_PROXY__URL: "http://proxy-server-on-broker-1:8080" + PROXYAPP_OTHER_PROXY__URL: "http://proxy-server-on-broker-1:8080" PROXYAPP_OTHER_PROXY__USERNAME: "username" PROXYAPP_OTHER_PROXY__PASSWORD: "password" depends_on: proxy-server-on-broker-1: condition: service_started restart: true - + broker_2: + condition: service_healthy + restart: true