From 08fcdd21c2570538157fd1f0a466cbaf372008b2 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Wed, 25 Oct 2023 11:02:33 -0500 Subject: [PATCH 01/13] Move docker-compose.yaml 2 sample & add .gitignore --- .gitignore | 1 + docker-compose-sample.yaml | 71 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 .gitignore create mode 100644 docker-compose-sample.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e736cba --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +docker-compose.yaml \ No newline at end of file diff --git a/docker-compose-sample.yaml b/docker-compose-sample.yaml new file mode 100644 index 0000000..77d2f0d --- /dev/null +++ b/docker-compose-sample.yaml @@ -0,0 +1,71 @@ +version: '3.8' + +services: + mmrelaydevice: + build: device + image: mmrelaynode:latest + container_name: mmrelaynode-device + restart: unless-stopped + volumes: + - mesh:/home/mesh + ports: + - "4403:4403" + networks: + - mesh + entrypoint: ["sh", "-c", "meshtasticd"] + environment: + MESHTASTIC_COMMAND_1: "--set-owner 'LongName' --set-owner-short 'SHRT' --set-url https://meshtastic.org/e/#CgMSAQESDAgBOAFAA0gBUB5oAQ" + MESHTASTIC_COMMAND_2: "--set mqtt.enabled true --set mqtt.address mqtt.meshtastic.org --set mqtt.username meshdev --set mqtt.password large4cats" + # You can add as many MESHTASTIC_COMMAND_X as you need, they will be executed in order with a 30 second delay between or add all your setup in one command. + + mmrelayapp: + build: app + image: mmrelayapp:latest + container_name: mmrelaynode-app + restart: unless-stopped + depends_on: + - mmrelaynode + volumes: + - mesh:/home/mesh + networks: + - mesh + entrypoint: [ "sh", "-c", "/home/mesh/.local/bin/wait-for-it.sh mmrelaynode:4403 -t 60 && python3 command_wrapper.py && python3 conf_wrapper.py && python3 main.py" ] + environment: + MATRIX_HOMESERVER: "https://example.matrix.org" + MATRIX_ACCESS_TOKEN: "your_access_token" + MATRIX_BOT_USER_ID: "@botuser:example.matrix.org" + MESHTASTIC_CONNECTION_TYPE: "network" # "serial" or "network" + MESHTASTIC_SERIAL_PORT: "/dev/ttyUSB0" + MESHTASTIC_HOST: "mmrelaynode" + MESHTASTIC_MESHNET_NAME: "Your Meshnet Name" + MESHTASTIC_BROADCAST_ENABLED: "true" + LOGGING_LEVEL: "info" + # Need at least 1 room & channel mapped, maximum 8 + MATRIX_ROOMS_ID_1: "#someroomalias1:example.matrix.org" + MATRIX_ROOMS_MESHTASTIC_CHANNEL_1: "0" + # MATRIX_ROOMS_ID_2: "#someroomalias2:example.matrix.org" + # MATRIX_ROOMS_MESHTASTIC_CHANNEL_2: "1" + # MATRIX_ROOMS_ID_3: "#someroomalias3:example.matrix.org" + # MATRIX_ROOMS_MESHTASTIC_CHANNEL_3: "2" + # MATRIX_ROOMS_ID_4: "#someroomalias4:example.matrix.org" + # MATRIX_ROOMS_MESHTASTIC_CHANNEL_4: "3" + # MATRIX_ROOMS_ID_5: "#someroomalias5:example.matrix.org" + # MATRIX_ROOMS_MESHTASTIC_CHANNEL_5: "4" + # MATRIX_ROOMS_ID_6: "#someroomalias6:example.matrix.org" + # MATRIX_ROOMS_MESHTASTIC_CHANNEL_6: "5" + # MATRIX_ROOMS_ID_7: "#someroomalias7:example.matrix.org" + # MATRIX_ROOMS_MESHTASTIC_CHANNEL_7: "6" + # MATRIX_ROOMS_ID_8: "#someroomalias8:example.matrix.org" + # MATRIX_ROOMS_MESHTASTIC_CHANNEL_8: "7" + + # Plugin environment variables + # HEALTH_PLUGIN_ACTIVE: "true" + # MAP_PLUGIN_ACTIVE: "true" + # NODES_PLUGIN_ACTIVE: "true" + +networks: + mesh: + driver: bridge + +volumes: + mesh: \ No newline at end of file From afa8b9f09f90f4e81aeba09f1667ca1e83aeddb6 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Wed, 25 Oct 2023 11:17:59 -0500 Subject: [PATCH 02/13] Added +x to wait-for-it.sh & fixed typo @ dcompose --- docker-compose.yaml | 71 --------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 docker-compose.yaml diff --git a/docker-compose.yaml b/docker-compose.yaml deleted file mode 100644 index 16095df..0000000 --- a/docker-compose.yaml +++ /dev/null @@ -1,71 +0,0 @@ -version: '3.8' - -services: - mmrelaydevice: - build: device - image: mmrelaynode:latest - container_name: mmrelaynode-device - restart: unless-stopped - volumes: - - mesh:/home/mesh - ports: - - "4403:4403" - networks: - - mesh - entrypoint: ["sh", "-c", "meshtasticd"] - environment: - MESHTASTIC_COMMAND_1: "--set-owner 'LongName' --set-owner-short 'SHRT' --set-url https://meshtastic.org/e/#CgMSAQESDAgBOAFAA0gBUB5oAQ" - MESHTASTIC_COMMAND_2: "--set mqtt.enabled true --set mqtt.address mqtt.meshtastic.org --set mqtt.username meshdev --set mqtt.password large4cats" - # You can add as many MESHTASTIC_COMMAND_X as you need, they will be executed in order with a 30 second delay between or add all your setup in one command. - - mmrelayapp: - build: app - image: mmrelayapp:latest - container_name: mmrelaynode-app - restart: unless-stopped - depends_on: - - mmrelaynode - volumes: - - mesh:/home/mesh - networks: - - mesh - entrypoint: [ "sh", "-c", "/home/mesh/.local/bin/wait-for-it.sh mmrelaynode:4403 -t 60 && python3 command_wrapper.py && python3 conf_wrapper.py && python3 main.py" ] - environment: - MATRIX_HOMESERVER: "https://example.matrix.org" - MATRIX_ACCESS_TOKEN: "your_access_token" - MATRIX_BOT_USER_ID: "@botuser:example.matrix.org" - MESHTASTIC_CONNECTION_TYPE: "network" # "serial" or "network" - MESHTASTIC_SERIAL_PORT: "/dev/ttyUSB0" - MESHTASTIC_HOST: "mmrelaynode" - MESHTASTIC_MESHNET_NAME: "Your Meshnet Name" - MESHTASTIC_BROADCAST_ENABLED: "true" - LOGGING_LEVEL: "info" - # Need at least 1 room & channel mapped, maximum 8 - MATRIX_ROOMS_ID_1: "#someroomalias1:example.matrix.org" - MATRIX_ROOMS_MESHTASTIC_CHANNEL_1: "0" - # MATRIX_ROOMS_ID_2: "#someroomalias2:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_2: "1" - # MATRIX_ROOMS_ID_3: "#someroomalias3:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_3: "2" - # MATRIX_ROOMS_ID_4: "#someroomalias4:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_4: "3" - # MATRIX_ROOMS_ID_5: "#someroomalias5:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_5: "4" - # MATRIX_ROOMS_ID_6: "#someroomalias6:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_6: "5" - # MATRIX_ROOMS_ID_7: "#someroomalias7:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_7: "6" - # MATRIX_ROOMS_ID_8: "#someroomalias8:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_8: "7" - - # Plugin environment variables - # HEALTH_PLUGIN_ACTIVE: "true" - # MAP_PLUGIN_ACTIVE: "true" - # NODES_PLUGIN_ACTIVE: "true" - -networks: - mesh: - driver: bridge - -volumes: - mesh: From 12fadf530dee67260d8a15fa4c37b9db52edff44 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Wed, 25 Oct 2023 11:18:36 -0500 Subject: [PATCH 03/13] Recommitting --- app/wait-for-it.sh | 0 docker-compose-sample.yaml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 app/wait-for-it.sh diff --git a/app/wait-for-it.sh b/app/wait-for-it.sh old mode 100644 new mode 100755 diff --git a/docker-compose-sample.yaml b/docker-compose-sample.yaml index 77d2f0d..4aca579 100644 --- a/docker-compose-sample.yaml +++ b/docker-compose-sample.yaml @@ -24,7 +24,7 @@ services: container_name: mmrelaynode-app restart: unless-stopped depends_on: - - mmrelaynode + - mmrelayapp volumes: - mesh:/home/mesh networks: From 7671971f5d7084af627cba86beea7f8ba5e72f34 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Wed, 25 Oct 2023 12:16:16 -0500 Subject: [PATCH 04/13] Move to entrypoint.sh script --- app/Dockerfile | 5 +++-- app/entrypoint.sh | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100755 app/entrypoint.sh diff --git a/app/Dockerfile b/app/Dockerfile index ddc08fd..b60b74b 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,13 +1,14 @@ FROM python:3.11-slim-bookworm AS app LABEL "website"="https://github.com/mate-dev/mmrelaynode" RUN groupadd -g 1000 mesh && useradd -ml -u 1000 -g 1000 -s /bin/bash mesh +RUN echo "export PATH=/home/mesh/.local/bin:\$PATH" >> /home/mesh/.bashrc RUN pip install --upgrade pip -qq RUN ln -s /home/mesh/.local/bin/meshtastic /bin/meshtastic USER mesh COPY --chown=mesh:mesh meshtastic-matrix-relay /home/mesh/app +COPY --chown=mesh:mesh --chmod=744 entrypoint.sh /usr/local/bin/entrypoint.sh COPY --chown=mesh:mesh --chmod=744 wait-for-it.sh /home/mesh/.local/bin/wait-for-it.sh COPY --chown=mesh:mesh conf_wrapper.py /home/mesh/app/ COPY --chown=mesh:mesh command_wrapper.py /home/mesh/app/ WORKDIR /home/mesh/app -RUN pip install -qq -r /home/mesh/app/requirements.txt --no-cache-dir -RUN echo "export PATH=/home/mesh/.local/bin:\$PATH" >> /home/mesh/.bashrc \ No newline at end of file +RUN pip install -qq -r /home/mesh/app/requirements.txt --no-cache-dir \ No newline at end of file diff --git a/app/entrypoint.sh b/app/entrypoint.sh new file mode 100755 index 0000000..60b5214 --- /dev/null +++ b/app/entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/bash +/home/mesh/.local/bin/wait-for-it.sh mmrelaynode:4403 -t 60 +python3 command_wrapper.py +python3 conf_wrapper.py +python3 main.py \ No newline at end of file From 7a07703cef188b034b1341716ee3877021b8661f Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Wed, 1 Nov 2023 10:45:31 -0500 Subject: [PATCH 05/13] docker compose changes --- docker-compose-sample.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose-sample.yaml b/docker-compose-sample.yaml index 4aca579..3d44f1b 100644 --- a/docker-compose-sample.yaml +++ b/docker-compose-sample.yaml @@ -29,7 +29,7 @@ services: - mesh:/home/mesh networks: - mesh - entrypoint: [ "sh", "-c", "/home/mesh/.local/bin/wait-for-it.sh mmrelaynode:4403 -t 60 && python3 command_wrapper.py && python3 conf_wrapper.py && python3 main.py" ] + entrypoint: [ "sh", "-c", "sh /home/mesh/.local/bin/wait-for-it.sh mmrelaynode:4403 -t 60 && python3 command_wrapper.py && python3 conf_wrapper.py && python3 main.py" ] environment: MATRIX_HOMESERVER: "https://example.matrix.org" MATRIX_ACCESS_TOKEN: "your_access_token" From cabca668463b1962501d95208a52c088511c4a88 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 15:51:34 -0600 Subject: [PATCH 06/13] Big progress, can connect --- app/command_wrapper.py | 2 +- app/entrypoint.sh | 2 +- docker-compose-sample.yaml | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/command_wrapper.py b/app/command_wrapper.py index 0e58d21..941f2d1 100644 --- a/app/command_wrapper.py +++ b/app/command_wrapper.py @@ -4,7 +4,7 @@ import time def execute_meshtastic_command(options): """Execute a meshtastic command with the given options.""" - command = ["meshtastic", "--set"] + options.split() + command = ["meshtastic", "--host", "mmrelaydevice", "--port", "4403"] + options.split() subprocess.run(command) time.sleep(30) # Pause for 30 seconds diff --git a/app/entrypoint.sh b/app/entrypoint.sh index 60b5214..a12d2fd 100755 --- a/app/entrypoint.sh +++ b/app/entrypoint.sh @@ -1,5 +1,5 @@ #!/bin/bash -/home/mesh/.local/bin/wait-for-it.sh mmrelaynode:4403 -t 60 +/home/mesh/.local/bin/wait-for-it.sh mmrelaydevice:4403 -t 60 python3 command_wrapper.py python3 conf_wrapper.py python3 main.py \ No newline at end of file diff --git a/docker-compose-sample.yaml b/docker-compose-sample.yaml index 3d44f1b..f3dbd75 100644 --- a/docker-compose-sample.yaml +++ b/docker-compose-sample.yaml @@ -16,6 +16,7 @@ services: environment: MESHTASTIC_COMMAND_1: "--set-owner 'LongName' --set-owner-short 'SHRT' --set-url https://meshtastic.org/e/#CgMSAQESDAgBOAFAA0gBUB5oAQ" MESHTASTIC_COMMAND_2: "--set mqtt.enabled true --set mqtt.address mqtt.meshtastic.org --set mqtt.username meshdev --set mqtt.password large4cats" + MESHTASTIC_COMMAND_3: "--ch-set uplink_enabled true --ch-set downlink_enabled true --ch-index 0" # You can add as many MESHTASTIC_COMMAND_X as you need, they will be executed in order with a 30 second delay between or add all your setup in one command. mmrelayapp: @@ -29,7 +30,8 @@ services: - mesh:/home/mesh networks: - mesh - entrypoint: [ "sh", "-c", "sh /home/mesh/.local/bin/wait-for-it.sh mmrelaynode:4403 -t 60 && python3 command_wrapper.py && python3 conf_wrapper.py && python3 main.py" ] + #entrypoint: [ "sh", "-c", "sh /home/mesh/.local/bin/wait-for-it.sh mmrelaydevice:4403 -t 60 && python3 command_wrapper.py && python3 conf_wrapper.py && python3 main.py" ] + entrypoint: [ "bash", "-c", "entrypoint.sh" ] environment: MATRIX_HOMESERVER: "https://example.matrix.org" MATRIX_ACCESS_TOKEN: "your_access_token" From f19ce7b7036a260ee543bb67cb13e7e7491725c8 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 16:35:21 -0600 Subject: [PATCH 07/13] Getting closer, command_wrapper needs work --- app/command_wrapper.py | 11 +++++------ app/entrypoint.sh | 7 ++++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/command_wrapper.py b/app/command_wrapper.py index 941f2d1..295183c 100644 --- a/app/command_wrapper.py +++ b/app/command_wrapper.py @@ -5,8 +5,10 @@ import time def execute_meshtastic_command(options): """Execute a meshtastic command with the given options.""" command = ["meshtastic", "--host", "mmrelaydevice", "--port", "4403"] + options.split() - subprocess.run(command) - time.sleep(30) # Pause for 30 seconds + print(f"Executing command: {' '.join(command)}") # Add this line for debugging + result = subprocess.run(command, capture_output=True, text=True) + print(result.stdout) # Add this line to print the output + time.sleep(15) # Pause for 30 seconds # Loop through environment variables in sequence index = 1 @@ -16,7 +18,4 @@ while True: execute_meshtastic_command(command) index += 1 else: - break - -# Finally, run the main Meshtastic process (or whatever process you want to keep the container running) -subprocess.run(["meshtastic"]) + break \ No newline at end of file diff --git a/app/entrypoint.sh b/app/entrypoint.sh index a12d2fd..bcc7daf 100755 --- a/app/entrypoint.sh +++ b/app/entrypoint.sh @@ -1,5 +1,6 @@ #!/bin/bash +printenv /home/mesh/.local/bin/wait-for-it.sh mmrelaydevice:4403 -t 60 -python3 command_wrapper.py -python3 conf_wrapper.py -python3 main.py \ No newline at end of file +python3 /home/mesh/app/command_wrapper.py +python3 /home/mesh/app/conf_wrapper.py +python3 /home/mesh/app/main.py \ No newline at end of file From 8849d9345a33ad84d51cc28339a960b36fc2e1ee Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 16:46:14 -0600 Subject: [PATCH 08/13] Command wrapper script updates --- app/command_wrapper.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/command_wrapper.py b/app/command_wrapper.py index 295183c..f6fd980 100644 --- a/app/command_wrapper.py +++ b/app/command_wrapper.py @@ -2,20 +2,30 @@ import os import subprocess import time +def log_to_file(message): + with open('/home/mesh/app/command_output.txt', 'a') as f: + f.write(message + "\n") + def execute_meshtastic_command(options): """Execute a meshtastic command with the given options.""" command = ["meshtastic", "--host", "mmrelaydevice", "--port", "4403"] + options.split() - print(f"Executing command: {' '.join(command)}") # Add this line for debugging + log_to_file(f"Executing command: {' '.join(command)}") result = subprocess.run(command, capture_output=True, text=True) - print(result.stdout) # Add this line to print the output - time.sleep(15) # Pause for 30 seconds + log_to_file("Standard Output:\n" + result.stdout) + log_to_file("Standard Error:\n" + result.stderr) + time.sleep(30) # Pause for 30 seconds + +# Print all environment variables at the start +log_to_file("All environment variables:\n" + str(os.environ)) # Loop through environment variables in sequence index = 1 while True: command = os.environ.get(f'MESHTASTIC_COMMAND_{index}') if command: + log_to_file(f"Found command variable: MESHTASTIC_COMMAND_{index} with value: {command}") execute_meshtastic_command(command) index += 1 else: + log_to_file(f"No more MESHTASTIC_COMMAND variables found, ending at index {index-1}.") break \ No newline at end of file From ba12e15dca7870446335882770f342b8ad2135e1 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 17:47:11 -0600 Subject: [PATCH 09/13] Update README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index e9715c3..7a8d8d2 100644 --- a/README.md +++ b/README.md @@ -11,4 +11,17 @@ Feel free to explore the **Meshtastic** project on their website: [https://mesht git clone https://github.com/mate-dev/mmrelaynode.git cd mmrelaynode && git submodule update --init docker compose -f "docker-compose.yaml" up -d --build +``` + +If modifying scripts, with the containers stopped use these commands to rebuild them: + +``` +docker system prune -af +docker-compose build --no-cache +docker-compose up -d --force-recreate +``` + +Use the following command to see the output of command_wrapper.py & the MESHTASTIC_COMMAND_X commands: +``` +docker exec -it mmrelaynode-app cat /home/mesh/app/command_output.txt ``` \ No newline at end of file From 7b9bd0f5555b538d7860f4449ac47ed0232db9ac Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 18:06:09 -0600 Subject: [PATCH 10/13] Small wording changes in comments and readme --- README.md | 2 +- app/command_wrapper.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7a8d8d2..a665642 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ cd mmrelaynode && git submodule update --init docker compose -f "docker-compose.yaml" up -d --build ``` -If modifying scripts, with the containers stopped use these commands to rebuild them: +If modifying the scripts, with the containers stopped, use these commands to rebuild them: ``` docker system prune -af diff --git a/app/command_wrapper.py b/app/command_wrapper.py index f6fd980..7bf975c 100644 --- a/app/command_wrapper.py +++ b/app/command_wrapper.py @@ -13,7 +13,7 @@ def execute_meshtastic_command(options): result = subprocess.run(command, capture_output=True, text=True) log_to_file("Standard Output:\n" + result.stdout) log_to_file("Standard Error:\n" + result.stderr) - time.sleep(30) # Pause for 30 seconds + time.sleep(1) # Pause for 1 second between commands # Print all environment variables at the start log_to_file("All environment variables:\n" + str(os.environ)) From 6a20c1f9e206bf7663cada7f16fdce3de53fea19 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 18:23:11 -0600 Subject: [PATCH 11/13] Update docker-compose-sample.yaml --- docker-compose-sample.yaml | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/docker-compose-sample.yaml b/docker-compose-sample.yaml index f3dbd75..b51b759 100644 --- a/docker-compose-sample.yaml +++ b/docker-compose-sample.yaml @@ -13,11 +13,6 @@ services: networks: - mesh entrypoint: ["sh", "-c", "meshtasticd"] - environment: - MESHTASTIC_COMMAND_1: "--set-owner 'LongName' --set-owner-short 'SHRT' --set-url https://meshtastic.org/e/#CgMSAQESDAgBOAFAA0gBUB5oAQ" - MESHTASTIC_COMMAND_2: "--set mqtt.enabled true --set mqtt.address mqtt.meshtastic.org --set mqtt.username meshdev --set mqtt.password large4cats" - MESHTASTIC_COMMAND_3: "--ch-set uplink_enabled true --ch-set downlink_enabled true --ch-index 0" - # You can add as many MESHTASTIC_COMMAND_X as you need, they will be executed in order with a 30 second delay between or add all your setup in one command. mmrelayapp: build: app @@ -30,7 +25,6 @@ services: - mesh:/home/mesh networks: - mesh - #entrypoint: [ "sh", "-c", "sh /home/mesh/.local/bin/wait-for-it.sh mmrelaydevice:4403 -t 60 && python3 command_wrapper.py && python3 conf_wrapper.py && python3 main.py" ] entrypoint: [ "bash", "-c", "entrypoint.sh" ] environment: MATRIX_HOMESERVER: "https://example.matrix.org" @@ -47,23 +41,15 @@ services: MATRIX_ROOMS_MESHTASTIC_CHANNEL_1: "0" # MATRIX_ROOMS_ID_2: "#someroomalias2:example.matrix.org" # MATRIX_ROOMS_MESHTASTIC_CHANNEL_2: "1" - # MATRIX_ROOMS_ID_3: "#someroomalias3:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_3: "2" - # MATRIX_ROOMS_ID_4: "#someroomalias4:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_4: "3" - # MATRIX_ROOMS_ID_5: "#someroomalias5:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_5: "4" - # MATRIX_ROOMS_ID_6: "#someroomalias6:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_6: "5" - # MATRIX_ROOMS_ID_7: "#someroomalias7:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_7: "6" - # MATRIX_ROOMS_ID_8: "#someroomalias8:example.matrix.org" - # MATRIX_ROOMS_MESHTASTIC_CHANNEL_8: "7" # Plugin environment variables # HEALTH_PLUGIN_ACTIVE: "true" # MAP_PLUGIN_ACTIVE: "true" # NODES_PLUGIN_ACTIVE: "true" + MESHTASTIC_COMMAND_1: "--set-owner 'LongName' --set-owner-short 'SHRT' --set-url https://meshtastic.org/e/#CgMSAQESDAgBOAFAA0gBUB5oAQ" + MESHTASTIC_COMMAND_2: "--set mqtt.enabled true --set mqtt.address mqtt.meshtastic.org --set mqtt.username meshdev --set mqtt.password large4cats" + MESHTASTIC_COMMAND_3: "--ch-set uplink_enabled true --ch-set downlink_enabled true --ch-index 0" + # You can add as many MESHTASTIC_COMMAND_X as you need, they will be executed in order networks: mesh: From ad32c612a6f8c5d5020fcc81db8c79f5dd0f4cd0 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 18:27:13 -0600 Subject: [PATCH 12/13] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a665642..38fa66a 100644 --- a/README.md +++ b/README.md @@ -24,4 +24,6 @@ docker-compose up -d --force-recreate Use the following command to see the output of command_wrapper.py & the MESHTASTIC_COMMAND_X commands: ``` docker exec -it mmrelaynode-app cat /home/mesh/app/command_output.txt -``` \ No newline at end of file +``` + +Note: If you have several commands, it may take a few minutes to finish them all. \ No newline at end of file From e4de0c196e0192423320a8bb98d95a91d42cd7ff Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Sun, 26 Nov 2023 18:37:01 -0600 Subject: [PATCH 13/13] Update MESHTATIC_HOST to match scripts --- docker-compose-sample.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose-sample.yaml b/docker-compose-sample.yaml index b51b759..6178379 100644 --- a/docker-compose-sample.yaml +++ b/docker-compose-sample.yaml @@ -32,7 +32,7 @@ services: MATRIX_BOT_USER_ID: "@botuser:example.matrix.org" MESHTASTIC_CONNECTION_TYPE: "network" # "serial" or "network" MESHTASTIC_SERIAL_PORT: "/dev/ttyUSB0" - MESHTASTIC_HOST: "mmrelaynode" + MESHTASTIC_HOST: "mmrelaydevice" MESHTASTIC_MESHNET_NAME: "Your Meshnet Name" MESHTASTIC_BROADCAST_ENABLED: "true" LOGGING_LEVEL: "info"