The Secure Comms Hub
Replace Signal / Telegram for your private group.
Replace Signal / Telegram for your private group. End-to-end audio, video, and chat โ on hardware you own.
Prerequisites
- At least two MeshHold nodes already paired (see Personal Cloud for the basics).
- One node with a public reachable port โ phones can otherwise rendezvous through it.
1. Create a chat vault
meshhold vault create --name "Family" --type chat --rf 2
2. Invite participants
In the web UI go to Vaults โ Family โ Share. Paste the invite string into a private message, or scan the QR with the other person's phone.
3. Audio / video calls
Calls ride the same libp2p transport. From the chat room hit the camera icon โ see calling rollout for the WebCodecs + relay-routing details.
4. Offline push wake-ups
When recipients are offline longer than the configured silence window
(default 45 s), one node with the push.gateway.enabled = true flag in
its config will wake them via UnifiedPush. Any node can carry the
gateway role โ no leader-election.
5. Walkie-talkie pairing on LAN
Two phones on the same Wi-Fi can pair entirely without internet โ scan a QR generated on either side. Useful for offline-first scenarios.
Troubleshooting
Calls drop after ~10 seconds
Both ends behind NAT and no public relay reachable. Bring up a public-IP node and add it as a bootstrap peer.
Notifications don't arrive
Check that the gateway node's push.gateway block is enabled in
config.yaml and that the recipient's phone has UnifiedPush configured.