📡 Fleet Control Console (Server)
🌍 Read in English | 🇮🇹 Leggi in Italiano
🇬🇧 English
Fleet Control Console is a professional, real-time command and control (C2) dashboard designed for amateur radio repeater networks (MMDVM).
🤖 Remote Agent
To monitor your remote nodes (Raspberry Pi), download the dedicated lightweight agent here:
[https://git.arifvg.it/iv3jdv/web-console-agent.git]
✨ Features
- Zero-Latency Real-Time UI: Powered by WebSockets (Socket.IO).
- Web Push Notifications: Instant alerts on desktop or mobile.
- Centralized Telemetry & Service Management.
- Global Operations: Switch profiles instantly.
🚀 Installation & Setup
- PRE-REQUISITES (CRITICAL)
Before installing Python dependencies, you must install system compilers and development libraries.
Debian/Ubuntu: sudo apt update sudo apt install build-essential python3-dev libssl-dev libffi-dev
Upgrade base pip tools: pip install --upgrade pip setuptools wheel
Create a virtual environment (Recommended): python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
- SERVER SETUP (CENTRAL HUB)
The server handles the web interface and user permissions.
Steps:
- Configure 'config.json' using 'config.example.json'.
- Enter MQTT credentials and VAPID keys.
- Define repeaters in the 'clients.json' file.
- Install production WSGI server packages (if not in requirements): pip install gunicorn gevent gevent-websocket
- Start the production server: gunicorn -k "geventwebsocket.gunicorn.workers.GeventWebSocketWorker" -w 1 --bind 0.0.0.0:9000 app:app
- GENERATING VAPID KEYS (PUSH NOTIFICATIONS)
⚠️ WARNING: Web Push Notifications strictly require the dashboard to be accessed via a secure HTTPS connection. They will NOT work over standard HTTP.
- Go to https://vapidkeys.com/ and generate the keys.
- Copy 'Public Key' and 'Private Key' into 'config.json'.
- Set 'vapid_claim_email' (e.g., "mailto:your@email.com").
- RUNNING AS A SERVICE (SYSTEMD)
Configuration:
- Copy .service file to '/etc/systemd/system/': sudo cp fleet-console.service /etc/systemd/system/
- Reload systemd: sudo systemctl daemon-reload
- Enable on boot: sudo systemctl enable fleet-console
- Start service: sudo systemctl start fleet-console
🇮🇹 Italiano
Fleet Control Console è una dashboard di comando e controllo (C2) professionale in tempo reale per le reti di ripetitori radioamatoriali (MMDVM).
🤖 Agente Remoto
Per monitorare i tuoi nodi remoti (Raspberry Pi), scarica l'agente dedicato qui:
[https://git.arifvg.it/iv3jdv/web-console-agent.git]
✨ Funzionalità
- Interfaccia Real-Time a Latenza Zero tramite WebSockets.
- Notifiche Push Web per allarmi critici.
- Telemetria Centralizzata e Gestione Servizi.
- Operazioni Globali su tutta la rete.
🚀 Installazione
- REQUISITI PRELIMINARI (CRITICI)
Prima di installare le dipendenze Python, è necessario installare i compilatori di sistema. Senza questi, l'installazione di 'gevent' fallirà su VPS vergini.
Esegui su Debian/Ubuntu: sudo apt update sudo apt install build-essential python3-dev libssl-dev libffi-dev
Aggiorna gli strumenti di base di pip: pip install --upgrade pip setuptools wheel
Crea un ambiente virtuale (consigliato): python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
- SETUP DEL SERVER
Passaggi:
- Configura 'config.json' partendo da 'config.example.json'.
- Inserisci credenziali MQTT e chiavi VAPID.
- Definisci i ripetitori in 'clients.json'.
- Avvia il server di produzione: gunicorn -k "geventwebsocket.gunicorn.workers.GeventWebSocketWorker" -w 1 --bind 0.0.0.0:9000 app:app
- GENERAZIONE CHIAVI VAPID
⚠️ ATTENZIONE: Le notifiche push richiedono HTTPS.
- Vai su https://vapidkeys.com/ e genera le chiavi.
- Copia 'Public Key' e 'Private Key' nel 'config.json'.
- Imposta 'vapid_claim_email' (es. "mailto:tua@email.com").
- ESECUZIONE COME SERVIZIO
- sudo cp fleet-console.service /etc/systemd/system/
- sudo systemctl daemon-reload
- sudo systemctl enable fleet-console
- sudo systemctl start fleet-console
Created by IV3JDV @ ARIFVG - 2026
