Deployment¶
This section describes how to run Enclave Messenger in more prod/formal setups. The project is still evolving, so treat these as guidelines rather than final rules.
Local deployment (single device)¶
For personal use on one machine:
- Install Enclave as described in Installation.
- Run TUI or web UI as needed.
- Use multiple profiles on the same device for testing or separate identities.
No special deployment steps are required.
Multi-device deployment¶
To use Enclave across multiple devices:
- Install Enclave on each device.
- Create profiles with consistent naming conventions if desired.
- Ensure devices are on the same local network (for LAN-based discovery) or configure plugins (Bluetooth, SMS, etc.) as needed.
- Start Enclave on each device and verify peer discovery.
Network-level details (ports, protocols) depend on your current core/network/ and plugin implementations; document concrete requirements here once finalized.
Hosting the web UI¶
For a more permanent web UI:
- Choose a host
- Install Python and dependencies on the host.
- Clone the repo and set up a virtualenv.
- Run
web.pyunder a process manager (e.g.,systemd,supervisor, or a simplescreen/tmuxsession). - Optionally put a reverse proxy (nginx, Caddy) in front for TLS and domain mapping.
Or, wait for a auto router plugin. A router plauging just gets the incoming requests, forwards the evenly accross different nodes and get the reply from the node and forwardes it to whatever its supposed to be.
Security notes:
- Enclave is designed with untrusted servers in mind, but you should still protect the host (firewall, updates, minimal exposure).
- Use HTTPS if exposing the web UI beyond localhost.
Update mechanism¶
Enclave supports signed updates via:
manifest.json– Describes the current version and update metadata.manifest.sig– Signature for the manifest.
The update.py module handles checking and applying updates.