Edge Node Launcher is a desktop application designed to manage the containerized edge node of Edge Protocol. It allows you to edit environment files, check Docker availability, launch and stop Docker containers, plot data from JSON files, and perform other management tasks.
- Features
- Binary Installation
- Platform-Specific Instructions
- Source Code Install
- Building the Application
- Usage
- Development
- Citation
- License
- Edit
.envfiles for Docker container configuration - Check if Docker is available and prompt for installation if not
- Launch and stop Docker containers
- Display plots for CPU load, memory load, GPU load, and GPU memory load
- Refresh plots every 10 seconds
- Copy local node address
- Delete specific files and restart containers
- Toggle between dark and light themes
- Download the latest
EdgeNodeLauncher-OSX-arm64-[version].zipfrom the Releases page - Extract the zip file
- If you encounter security restrictions when trying to open the app:
- Open Terminal
- Run the following command (replace with your actual path):
xattr -cr /path/to/EdgeNodeLauncher
- Try running the app again
- Install Docker Desktop for Apple Silicon if not already installed
- Ensure Docker Desktop is running before launching the Edge Node Launcher
- Download the latest
EdgeNodeLauncher-WIN32-[version].zipfrom the Releases page - Extract the zip file
- Run the EdgeNodeLauncher executable
- Install Docker Desktop for Windows if prompted
- Ensure Docker Desktop is running before using the launcher
- Download the appropriate Ubuntu version zip file from the Releases page:
- For Ubuntu 24.04:
EdgeNodeLauncher-LINUX_Ubuntu-24.04-[version].zip - For Ubuntu 22.04:
EdgeNodeLauncher-LINUX_Ubuntu-22.04-[version].zip - For Ubuntu 20.04:
EdgeNodeLauncher-LINUX_Ubuntu-20.04-[version].zip
- For Ubuntu 24.04:
- Extract the zip file
- Make the launcher executable:
chmod +x EdgeNodeLauncher
- Run the launcher:
./EdgeNodeLauncher
- Install Docker if prompted or manually install using:
sudo apt-get update sudo apt-get install docker.io sudo systemctl start docker sudo systemctl enable docker
Download from Releases page and run the app for your platform.
To install and run Edge Node Launcher, follow these steps:
-
Clone the repository:
git clone https://github.com/Ratio1/edge_node_launcher.git cd edge_node_launcher -
Install the required dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
The repository uses GitHub Actions to build and release binaries for different platforms (Windows, Ubuntu 22.04, and Ubuntu 20.04). The build process includes:
- Checking the version in
ver.pyand comparing it with the latest release version - Building the application using PyInstaller
- Zipping the built artifacts and uploading them as release assets
To edit the .env file used by the Docker container, click the "Edit .env File" button. The file will open in a text editor within the application. After making changes, save the file and close the editor.
The application checks for Docker availability at startup. If Docker is not installed, you will be prompted to install it.
Use the "Launch Container" button to start the Docker container. If the container is already running, the button will show "Stop Container" to allow stopping the container.
The application displays plots for CPU load, memory load, GPU load, and GPU memory load. The plots are updated every 10 seconds with data from a JSON file.
The application can check for updates, download the latest release, and replace the current executable. To check for updates, ensure you have an internet connection and the application will handle the rest.
main.py: Entry point for the applicationapp_forms/frm_main.py: Main application form and logicutils/const.py: Constants used throughout the applicationutils/docker.py: Docker utility functions
The application uses stylesheets for UI theming. The stylesheets are defined in utils/const.py and applied to various widgets.
If you use this software in your research, please cite the following paper:
@misc{milik2024aios,
title={Naeural AI OS -- Decentralized ubiquitous computing MLOps execution engine},
author={Beatrice Milik and Stefan Saraev and Cristian Bleotiu and Radu Lupaescu and Bogdan Hobeanu and Andrei Ionut Damian},
year={2024},
eprint={2306.08708},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2306.08708},
}Additionally, you can cite this repository as follows:
@misc{naeurallauncher2024,
author = {Naeural Edge Protocol},
title = {Edge Node Launcher},
year = {2024},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/Ratio1/edge_node_launcher}},
}This project is licensed under the MIT License - see the LICENSE file for details.