Scenario

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.