In Cloudflare, create matrix.meshly.chat as an A record to the VPS. Keep meshly.chat separate for the landing site.
Type: A
Name: matrix
IPv4: <your-vps-ip>
Proxy status: DNS only
Cloudflare only proxies a limited set of HTTPS ports by default, and 8448 is not one of them, so Matrix federation works best with the Matrix subdomain left unproxied.
The script installs Docker, Synapse, PostgreSQL, and Caddy, then creates an admin account and leaves registration open so users can create accounts from Meshly.
curl -fsSL https://meshly.chat/install/meshly-node.sh | sudo bash -s -- \
--domain matrix.meshly.chat \
--email ops@meshly.chat \
--admin-user admin \
--open-registration true
If you omit --admin-password, the script prompts for it securely. If you want a fully non-interactive run, pass --admin-password and --yes.
curl https://matrix.meshly.chat/_matrix/client/versions
curl https://matrix.meshly.chat:8448/_matrix/federation/v1/version
The first command proves the Matrix client API is up for Meshly. The second confirms the federation port is reachable for other homeservers.
- Open Meshly and choose Use Meshly community node.
- Create a new account with a simple username and password.
- Confirm the resulting Matrix ID uses
:matrix.meshly.chat.
- Create a room and verify messages sync across launches.