Amiga-Z Wiki

“Modern tools for old-school communities.”

User Tools

Site Tools


robinnet:install

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
robinnet:install [2026/03/11 15:22] – created freedomotterrobinnet:install [2026/03/11 15:48] (current) freedomotter
Line 1: Line 1:
 ====== Installing RobinNet ====== ====== Installing RobinNet ======
  
-RobinNet is a Python application designed to run on Linux systems.+RobinNet is a lightweight Python application designed to run on Linux systems. 
 + 
 +It is intentionally simple to deploy and can run on: 
 + 
 +  * Raspberry Pi 
 +  * home servers 
 +  * cloud VPS 
 +  * emergency field nodes 
 +  * laptops
  
 ----- -----
Line 7: Line 15:
 ===== Requirements ===== ===== Requirements =====
  
-Python 3.10++Python 3.10 or newer.
  
-Required packages:+Required Python packages:
  
   * fastapi   * fastapi
Line 25: Line 33:
 ===== Project Layout ===== ===== Project Layout =====
  
-Example layout:+Example directory layout:
  
 <code> <code>
 robinnet/ robinnet/
 ├── robinnet/ ├── robinnet/
 +│   ├── api.py
 +│   ├── cli.py
 +│   ├── daemon.py
 │   ├── db.py │   ├── db.py
-│   ├── models.py 
-│   ├── cli.py 
-│   ├── api.py 
-│   ├── sync.py 
 │   ├── main.py │   ├── main.py
-│   └── daemon.py+│   ├── models.py 
 +│   └── sync.py 
 +
 └── data/ └── data/
 </code> </code>
 +
 +The database files will be created inside the **data** directory.
  
 ----- -----
Line 44: Line 55:
 ===== Initialize a Node ===== ===== Initialize a Node =====
  
-Create database and node identity:+Before running node, you must initialize the node identity
 + 
 +Example:
  
 <code bash> <code bash>
Line 54: Line 67:
 </code> </code>
  
------ +Optional fields:
- +
-===== Start API Server =====+
  
 <code bash> <code bash>
-ROBINNET_DB=./data/node.db \ +python -m robinnet.cli \ 
-python -m robinnet.main+  --db ./data/node.db \ 
 +  init-node \ 
 +  --name alpha \ 
 +  --operator "Rich"
 +  --callsign N2XYZ \ 
 +  --location "Albany NY"
 </code> </code>
  
-Server will start on:+This creates:
  
-====== Installing RobinNet ====== +  * node UUID 
- +  * node name 
-RobinNet is a Python application designed to run on Linux systems.+  * operator information 
 +  * transport profile
  
 ----- -----
  
-===== Requirements =====+===== Starting the API Server =====
  
-Python 3.10+ +Run the RobinNet node:
- +
-Required packages: +
- +
-  * fastapi +
-  * uvicorn +
-  * requests +
- +
-Install dependencies:+
  
 <code bash> <code bash>
-pip install fastapi uvicorn requests+ROBINNET_DB=./data/node.db \ 
 +python -m robinnet.main
 </code> </code>
  
------ +The API server will start on:
- +
-===== Project Layout ===== +
- +
-Example layout: +
 <code> <code>
-robinnet/ +http://localhost:8080
-├── robinnet/ +
-│   ├── db.py +
-│   ├── models.py +
-│   ├── cli.py +
-│   ├── api.py +
-│   ├── sync.py +
-│   ├── main.py +
-│   └── daemon.py +
-└── data/+
 </code> </code>
  
------ 
  
-===== Initialize a Node ===== +You can verify it using:
- +
-Create a database and node identity:+
  
 <code bash> <code bash>
-python -m robinnet.cli \ +curl http://localhost:8080/api/v1/health
-  --db ./data/node.db \ +
-  init-node \ +
-  --name alpha \ +
-  --operator "Rich"+
 </code> </code>
  
 ----- -----
  
-===== Start API Server =====+===== Running the Background Worker =====
  
-<code bash> +The daemon performs:
-ROBINNET_DB=./data/node.db \ +
-python -m robinnet.main +
-</code>+
  
-Server will start on: +  * periodic peer sync 
-====== Installing RobinNet ======+  * message expiration 
 +  * maintenance tasks
  
-RobinNet is a Python application designed to run on Linux systems. +Start the daemon:
- +
------ +
- +
-===== Requirements ===== +
- +
-Python 3.10+ +
- +
-Required packages: +
- +
-  * fastapi +
-  * uvicorn +
-  * requests +
- +
-Install dependencies:+
  
 <code bash> <code bash>
-pip install fastapi uvicorn requests+ROBINNET_DB=./data/node.db \ 
 +python -m robinnet.daemon
 </code> </code>
  
------+In production deployments, the daemon may run under:
  
-===== Project Layout =====+  * systemd 
 +  * tmux 
 +  * screen 
 +  * docker container
  
-Example layout:+-----
  
-<code> +===== Running Multiple Nodes =====
-robinnet/ +
-├── robinnet/ +
-│   ├── db.py +
-│   ├── models.py +
-│   ├── cli.py +
-│   ├── api.py +
-│   ├── sync.py +
-│   ├── main.py +
-│   └── daemon.py +
-└── data/ +
-</code>+
  
------+You can run multiple RobinNet nodes on the same machine for testing.
  
-===== Initialize a Node =====+Example:
  
-Create a database and node identity:+Node A:
  
 <code bash> <code bash>
-python -m robinnet.cli \ +ROBINNET_DB=./data/alpha.db \ 
-  --db ./data/node.db \ +ROBINNET_PORT=8081 
-  init-node +python -m robinnet.main
-  --name alpha \ +
-  --operator "Rich"+
 </code> </code>
  
------ +Node B:
- +
-===== Start API Server =====+
  
 <code bash> <code bash>
-ROBINNET_DB=./data/node.db \+ROBINNET_DB=./data/bravo.db 
 +ROBINNET_PORT=8082 \
 python -m robinnet.main python -m robinnet.main
 </code> </code>
  
-Server will start on: +Each node uses its own database.
-[[http://localhost:8000]] +
  
 ----- -----
  
-===== Start Background Worker =====+===== Next Step =====
  
-Optional daemon:+Once a node is installed, see:
  
-<code bash> +[[robinnet:testing]]
-ROBINNET_DB=./data/node.db \ +
-python -m robinnet.daemon +
-</code> +
- +
-The daemon performs: +
- +
-  * periodic sync +
-  * message expiration +
-  * maintenance tasks+
robinnet/install.1773242566.txt.gz · Last modified: by freedomotter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki