📡 Meshtastic for SKYNET2
This documentation describes a production-ready Meshtastic infrastructure using:
-
Proxmox
-
Privileged LXC
-
MeshMonitor (serial bridge mode)
-
Mosquitto MQTT (LAN + TLS Internet access)
-
Cloudflare DNS
-
Let’s Encrypt certificates
-
Optional Discord integration (documented elsewhere)Integrations
This guide assumes:
-
You are self-hosting
-
You want full control
-
You are not relying on Meshtastic’s public MQTT infrastructure
What This Setup Does
This infrastructure provides:
- A hardwired Meshtastic node connected via USB to a server
- A central MeshMonitor instance acting as:
- Network monitor
- Message hub
- Serial bridge
- A secure MQTT broker allowing:
- Remote users (cellular / internet) to participate
- Integration with other systems (Discord, dashboards, automations)
- A clean separation between:
- RF mesh traffic
- Internet transport
- User-facing services
- Key Design Decisions
- MeshMonitor is the source of truth
- The core node does NOT use Wi-Fi
- MQTT is optional and client-driven
- No Docker required
- No VM required
- Everything runs natively in one LXC
High-Level Architecture
[ Meshtastic Nodes ]
↓ RF
[ Core Node via USB ]
↓ Serial
[ MeshMonitor ]
↓
[ Mosquitto MQTT ]
↓ ↓
Internet LAN ServicesChapters
General Information

Random things and other notes I've encountered along the way
Infrastructure
Everything server-side
2.1 Proxmox Container Setup
Container Requirements
Debian-based LXC (Debian 12 recommended)Privileged container (required for USB access)Static IP recommended
Why Privileged?
USB serial access inside LXC is vastly simpler and more reliable when privileged.Security tradeoff is acceptable for this use case.