mirror of
https://github.com/pablorevilla-meshtastic/meshview.git
synced 2026-08-10 10:53:05 +02:00
mvrun.py changes
This commit is contained in:
@@ -35,7 +35,7 @@ Copy `sample.config.ini` to `config.ini`:
|
|||||||
``` bash
|
``` bash
|
||||||
cp sample.config.ini config.ini
|
cp sample.config.ini config.ini
|
||||||
```
|
```
|
||||||
Edit `config.ini` and change the MQTT server, and Web server settings as necsessary.
|
Edit `config.ini` and change the MQTT server, and Web server settings.
|
||||||
```bash
|
```bash
|
||||||
nano config.ini
|
nano config.ini
|
||||||
```
|
```
|
||||||
@@ -71,12 +71,18 @@ Start the web server.
|
|||||||
``` bash
|
``` bash
|
||||||
./env/bin/python main.py
|
./env/bin/python main.py
|
||||||
```
|
```
|
||||||
|
> [!INFO]
|
||||||
|
> You can specify the path to your `config.ini` file with the run command argument `--config`
|
||||||
|
> ``` bash
|
||||||
|
>./env/bin/python startdb.py --config /path/to/config.ini
|
||||||
|
>./env/bin/python main.py --config /path/to/config.ini
|
||||||
|
>```
|
||||||
|
## Running Meshview with `mvrun.py`
|
||||||
|
- `mvrun.py` starts `startdb.py` and `main.py` in their own subprocess threads and combines their terminal output.
|
||||||
|
- `mvrun.py` accepts the `--config` run command.
|
||||||
|
|
||||||
|
|
||||||
Now you can hit http://localhost:8081/ ***(if you did not change the web server port )***
|
|
||||||
|
|
||||||
You can specify the path to your `config.ini` file with the run command argument `--config`
|
|
||||||
``` bash
|
``` bash
|
||||||
./env/bin/python startdb.py --config /path/to/config.ini
|
./env/bin/python mvrun.py
|
||||||
./env/bin/python main.py --config /path/to/config.ini
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Now you can hit http://localhost:8081/ ***(if you did not change the web server port )***
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en" data-bs-theme="dark">
|
<html lang="en" data-bs-theme="dark">
|
||||||
<head>
|
<head>
|
||||||
<title>MeshView - Bay Area Mesh - http://meshview.bayme.sh {% if node and node.short_name %}-- {{node.short_name}}{% endif %}</title>
|
<title>Meshview - {{ site_config["site"]["title"] }} {% if node and node.short_name %}-- {{node.short_name}}{% endif %}</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<script src="https://unpkg.com/htmx.org@1.9.11" integrity="sha384-0gxUXCCR8yv9FM2b+U3FDbsKthCI66oH5IA9fHppQq9DDMHuMauqq1ZHBpJxQ0J0" crossorigin="anonymous"></script>
|
<script src="https://unpkg.com/htmx.org@1.9.11" integrity="sha384-0gxUXCCR8yv9FM2b+U3FDbsKthCI66oH5IA9fHppQq9DDMHuMauqq1ZHBpJxQ0J0" crossorigin="anonymous"></script>
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import argparse
|
||||||
|
import threading
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
# Run python in subprocess
|
||||||
|
def run_script(script_name, *args):
|
||||||
|
try:
|
||||||
|
# Path to the Python interpreter inside the virtual environment
|
||||||
|
python_executable = './env/bin/python'
|
||||||
|
|
||||||
|
# Combine the script name and arguments
|
||||||
|
command = [python_executable, script_name] + list(args)
|
||||||
|
|
||||||
|
# Run the subprocess and report errors
|
||||||
|
subprocess.run(command, check=True)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error running {script_name}: {e}")
|
||||||
|
|
||||||
|
# Parse runtime argument (--config) and start subprocess threads
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description="Helper script to run the datbase and web frontend in separate threads.")
|
||||||
|
|
||||||
|
# Add --config runtime argument
|
||||||
|
parser.add_argument('--config', help="Path to the configuration file.", default='config.ini')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# Database Thread
|
||||||
|
dbthrd = threading.Thread(target=run_script, args=('startdb.py', '--config', args.config))
|
||||||
|
|
||||||
|
# Web server thread
|
||||||
|
webthrd = threading.Thread(target=run_script, args=('main.py', '--config', args.config))
|
||||||
|
|
||||||
|
# Start Meshview subprocess threads
|
||||||
|
dbthrd.start()
|
||||||
|
webthrd.start()
|
||||||
|
|
||||||
|
dbthrd.join()
|
||||||
|
webthrd.join()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user