From 285306ec247739111e7c5a947398263160478230 Mon Sep 17 00:00:00 2001 From: harelb Date: Mon, 17 Nov 2025 08:03:40 -0500 Subject: [PATCH 1/4] move away from host networking in docker for cross platform compatability --- docker/docker-compose.yaml | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 482a375..04a6366 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -9,13 +9,17 @@ services: NEO4J_server_http_advertised__address: :7469 NEO4J_server_http_listen__address: :7469 NEO4J_AUTH: neo4j/neo4j_pw - network_mode: host + ports: + - "7683:7683" + - "7469:7469" healthcheck: test: [CMD-SHELL, wget --no-verbose --tries=1 --spider http://localhost:7469 || exit 1] interval: 1s timeout: 10s retries: 10 start_period: 2s + networks: + - heracles_net # Standalone python interpreter example for running queries against database cli: @@ -28,8 +32,9 @@ services: environment: HERACLES_NEO4J_USERNAME: neo4j HERACLES_NEO4J_PASSWORD: neo4j_pw - HERACLES_NEO4J_URI: neo4j://127.0.0.1:7683 - network_mode: host + HERACLES_NEO4J_URI: neo4j://neo4j:7683 + networks: + - heracles_net stdin_open: true tty: true entrypoint: [ipython, -i, /heracles/examples/load_scene_graph.py, --, --scene_graph, /heracles/examples/scene_graphs/example_dsg.json] @@ -45,12 +50,15 @@ services: environment: HERACLES_NEO4J_USERNAME: neo4j HERACLES_NEO4J_PASSWORD: neo4j_pw - HERACLES_NEO4J_URI: neo4j://127.0.0.1:7683 + HERACLES_NEO4J_URI: neo4j://neo4j:7683 HERACLES_OPENAI_API_KEY: $HERACLES_OPENAI_API_KEY HERACLES_AGENTS_PATH: /heracles_agents - ADT4_HERACLES_IP: 127.0.0.1 + ADT4_HERACLES_IP: neo4j ADT4_HERACLES_PORT: 7683 - network_mode: host + networks: + - heracles_net + extra_hosts: + - "host.docker.internal:host-gateway" stdin_open: true tty: true entrypoint: [python3, chatdsg.py, --scene-graph, /example_dsg.json] @@ -69,7 +77,8 @@ services: HERACLES_VENV: '' DISPLAY: $DISPLAY QT_X11_NO_MITSHM: 1 - network_mode: host + networks: + - heracles_net volumes: [/tmp/.X11-unix:/tmp/.X11-unix:rw] entrypoint: [/bin/bash, /run_hydra_visualization.sh] @@ -81,6 +90,13 @@ services: environment: HERACLES_NEO4J_USERNAME: neo4j HERACLES_NEO4J_PASSWORD: neo4j_pw - HERACLES_NEO4J_URI: neo4j://127.0.0.1:7683 - network_mode: host - entrypoint: [python, /heracles/src/heracles/heracles_viser_publisher.py, --ip, 127.0.0.1, --port, '8081'] + HERACLES_NEO4J_URI: neo4j://neo4j:7683 + networks: + - heracles_net + ports: + - "8081:8081" + entrypoint: [python, /heracles/src/heracles/heracles_viser_publisher.py, --ip, 0.0.0.0, --port, '8081', '--uri', neo4j://neo4j:7683] + +networks: + heracles_net: + driver: bridge From b9c091935f03b5c8e6cd1fef7687130e63a72891 Mon Sep 17 00:00:00 2001 From: harelb Date: Mon, 17 Nov 2025 08:13:20 -0500 Subject: [PATCH 2/4] Service check for neo4j when using viser --- docker/docker-compose.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 04a6366..48fbb7e 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -87,6 +87,9 @@ services: build: context: .. dockerfile: docker/spark_dsg_viser.Dockerfile + depends_on: + neo4j: + condition: service_healthy environment: HERACLES_NEO4J_USERNAME: neo4j HERACLES_NEO4J_PASSWORD: neo4j_pw From e27a7bdcf6108cfe37a4b3a74435967cd1c653c6 Mon Sep 17 00:00:00 2001 From: harelb Date: Mon, 17 Nov 2025 08:20:31 -0500 Subject: [PATCH 3/4] Hydra visualizer change from host networking to heracles_net bridge --- docker/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 48fbb7e..9c94e50 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -72,7 +72,7 @@ services: environment: HERACLES_NEO4J_USERNAME: neo4j HERACLES_NEO4J_PASSWORD: neo4j_pw - HERACLES_IP: 127.0.0.1 + HERACLES_IP: neo4j HERACLES_PORT: 7683 HERACLES_VENV: '' DISPLAY: $DISPLAY From 2a506bd73591c9bb8d1ca25cae2f855508d5b7fa Mon Sep 17 00:00:00 2001 From: harelb Date: Mon, 17 Nov 2025 08:21:08 -0500 Subject: [PATCH 4/4] Formatting --- docker/docker-compose.yaml | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 9c94e50..991b3d4 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -9,9 +9,7 @@ services: NEO4J_server_http_advertised__address: :7469 NEO4J_server_http_listen__address: :7469 NEO4J_AUTH: neo4j/neo4j_pw - ports: - - "7683:7683" - - "7469:7469" + ports: [7683:7683, 7469:7469] healthcheck: test: [CMD-SHELL, wget --no-verbose --tries=1 --spider http://localhost:7469 || exit 1] interval: 1s @@ -33,8 +31,7 @@ services: HERACLES_NEO4J_USERNAME: neo4j HERACLES_NEO4J_PASSWORD: neo4j_pw HERACLES_NEO4J_URI: neo4j://neo4j:7683 - networks: - - heracles_net + networks: [heracles_net] stdin_open: true tty: true entrypoint: [ipython, -i, /heracles/examples/load_scene_graph.py, --, --scene_graph, /heracles/examples/scene_graphs/example_dsg.json] @@ -55,10 +52,8 @@ services: HERACLES_AGENTS_PATH: /heracles_agents ADT4_HERACLES_IP: neo4j ADT4_HERACLES_PORT: 7683 - networks: - - heracles_net - extra_hosts: - - "host.docker.internal:host-gateway" + networks: [heracles_net] + extra_hosts: [host.docker.internal:host-gateway] stdin_open: true tty: true entrypoint: [python3, chatdsg.py, --scene-graph, /example_dsg.json] @@ -77,8 +72,7 @@ services: HERACLES_VENV: '' DISPLAY: $DISPLAY QT_X11_NO_MITSHM: 1 - networks: - - heracles_net + networks: [heracles_net] volumes: [/tmp/.X11-unix:/tmp/.X11-unix:rw] entrypoint: [/bin/bash, /run_hydra_visualization.sh] @@ -94,12 +88,9 @@ services: HERACLES_NEO4J_USERNAME: neo4j HERACLES_NEO4J_PASSWORD: neo4j_pw HERACLES_NEO4J_URI: neo4j://neo4j:7683 - networks: - - heracles_net - ports: - - "8081:8081" - entrypoint: [python, /heracles/src/heracles/heracles_viser_publisher.py, --ip, 0.0.0.0, --port, '8081', '--uri', neo4j://neo4j:7683] - + networks: [heracles_net] + ports: [8081:8081] + entrypoint: [python, /heracles/src/heracles/heracles_viser_publisher.py, --ip, 0.0.0.0, --port, '8081', --uri, neo4j://neo4j:7683] networks: heracles_net: driver: bridge