Deploy and maintain Haven
Traditional private chat applications require a dedicated application - self-managed or hosted - and the operator has to manage user accounts and data.
Haven requires neither. Accounts (identities, codenames) are network-wide and the admin has nothing to maintain, backup or comply with.
Haven Web application can run on user's OS (in Docker), in a low-cost cloud VM, or we can simply use the official Haven instance hosted by the xx Foundation.
High level of deployment options
-
Run Haven on a Linux server or a cloud-based VM
- Deploy a reverse HTTPS proxy with TLS certificate
- Deploy Haven container or Web app (Next.js) on Node.js behind reverse HTTPS proxy
-
Optionally, to access Haven Web site and xx Network over a Tor Socks5 proxy and hide the clients' IP address, set up a dedicated or shared proxy (or leave that to Haven users):
- Tor Socks5 proxy, or
- Arti Socks5 proxy, or
- VPN
A Socks proxy or VPN can be used to hide Haven client's IP address from Haven Web server.
Run Haven in container or VM
- How to deploy Haven app on Node.js, or
- How to deploy Haven container
The second link also has a Docker Compose example with Traefik, Let's Encrypt TLS, and Haven. This can be deployed on any x86_64 or ARM64 system, at home or in the cloud.
Deploy (Tor or Arti) Socks5 or use VPN
As mentioned above, this part is optional.
To use Tor Socks5 or Arti, the user needs to configure their browser to use a Tor's Socks5 or Arti proxy.
These can run on the client computer, LAN (may be shared, and can be set up by the administrator), or the Internet (less secure, but can be okay if it's under user's full control).
Please refer to documentation of each proxy server.
Update or downgrade your Haven stack
Haven is self-contained and does not contain any client data, so watch Haven releases on Gitlab and re-deploy when ready.
Haven can be upgraded or downgraded as long as there are no breaking protocol changes (which should be mentioned in its change log), so in the case an upgrade fails, try the previous version or fall back to usin the official server instance.
If you visit the official server and log in, it's easy to see the latest release (example: v0.3.4).
You may also watch the official source code repository for new releases and other changes.
Node.js and containers are not specifically validated, so you may update those are own convenience.