Amiga-Z Wiki

β€œModern tools for old-school communities.”

User Tools

Site Tools


robinnet:install

Installing RobinNet

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

Requirements

Python 3.10 or newer.

Required Python packages:

  • fastapi
  • uvicorn
  • requests

Install dependencies:

pip install fastapi uvicorn requests

Project Layout

Example directory layout:

robinnet/
β”œβ”€β”€ robinnet/
β”‚   β”œβ”€β”€ api.py
β”‚   β”œβ”€β”€ cli.py
β”‚   β”œβ”€β”€ daemon.py
β”‚   β”œβ”€β”€ db.py
β”‚   β”œβ”€β”€ main.py
β”‚   β”œβ”€β”€ models.py
β”‚   └── sync.py
β”‚
└── data/

The database files will be created inside the data directory.


Initialize a Node

Before running a node, you must initialize the node identity.

Example:

python -m robinnet.cli \
  --db ./data/node.db \
  init-node \
  --name alpha \
  --operator "Rich"

Optional fields:

python -m robinnet.cli \
  --db ./data/node.db \
  init-node \
  --name alpha \
  --operator "Rich" \
  --callsign N2XYZ \
  --location "Albany NY"

This creates:

  • node UUID
  • node name
  • operator information
  • transport profile

Starting the API Server

Run the RobinNet node:

ROBINNET_DB=./data/node.db \
python -m robinnet.main

The API server will start on:

http://localhost:8080

You can verify it using:

curl http://localhost:8080/api/v1/health

Running the Background Worker

The daemon performs:

  • periodic peer sync
  • message expiration
  • maintenance tasks

Start the daemon:

ROBINNET_DB=./data/node.db \
python -m robinnet.daemon

In production deployments, the daemon may run under:

  • systemd
  • tmux
  • screen
  • docker container

Running Multiple Nodes

You can run multiple RobinNet nodes on the same machine for testing.

Example:

Node A:

ROBINNET_DB=./data/alpha.db \
ROBINNET_PORT=8081 \
python -m robinnet.main

Node B:

ROBINNET_DB=./data/bravo.db \
ROBINNET_PORT=8082 \
python -m robinnet.main

Each node uses its own database.


Next Step

Once a node is installed, see:

testing

robinnet/install.txt Β· Last modified: by freedomotter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki