- Home
- VPS Hosting
- Synapse + Element VPS
Synapse + Element pre-installed · the app is free
Host Your Own Matrix Chat Server with Synapse and Element
Devoster's Synapse + Element app is a KVM VPS with NVMe storage in Utah, USA running a Matrix chat server (Synapse) with the Element web client, on HTTPS about three minutes after boot. Rooms can be end-to-end encrypted, and the server is private until you open federation. The software is free; plans start at $3.49/mo, with Micro (1 vCPU, 2 GB, 50 GB, $4.49/mo) recommended.
- End-to-end encrypted rooms
- Element web client included
- Private by default, no sign-up
- Federation when you want it
- KVM · NVMe · full root · Utah, USA
Prices verified
Recommended plans
- Recommended
Micro
$4.49/mo- 1 vCPU
- 2 GB RAM
- 50 GB NVMe
- 1 IPv4
Nano
$3.49/mo- 1 vCPU
- 1 GB RAM
- 25 GB NVMe
- 1 IPv4
Starter
$7.99/mo- 2 vCPU
- 4 GB RAM
- 75 GB NVMe
- 1 IPv4
What you get with one-click Synapse + Element
Matrix is an open standard for chat, and Synapse is the reference server for it; Element is a web client for it. Both are open source (AGPL-3.0). Choose the app with a plan, pay, and we build the VPS (KVM, NVMe, Ubuntu 24.04 LTS) and install it in about three minutes after boot. You get:
- Synapse 1.164 with a PostgreSQL database, its caches sized to your plan's RAM.
- Element Web 1.12 at the same address, so people open one link in a browser and start chatting.
- An HTTPS address like
chat-k3x9q2.devoster.appwith a Let's Encrypt certificate. - Your admin account already created as
@admin:chat-k3x9q2.devoster.app, a server admin, with a generated password shown in the Devoster dashboard, where you can also reset it. Public registration and guest access are off. - Dashboard controls to open Element, restart, stop or start the server, read its logs, run an update and connect your own domain.
The software is free; you pay only the VPS plan, with 10% off yearly. The server comes with full root, free nightly backups kept 3 days plus one snapshot, a dedicated IPv4, 1 Gbps with unlimited bandwidth and DDoS protection. Already have a Devoster VPS? You can install the chat server on it from VPS Control, after the panel checks the OS, free ports 80/443 and disk, or reinstall the server with it, at no charge. Other apps that install this way are on the One-Click Apps page.
Matrix and Element are the marks of their owners; this is open-source software installed on your server, not a service of the Matrix.org Foundation or Element.
Your server name: user IDs keep the devoster.app address
Every Matrix user ID ends with the server's name, for example @alice:chat-k3x9q2.devoster.app. That name is part of every user, room and message signature, and the Matrix protocol doesn't allow it to change. It is set when the server is installed, to the devoster.app address.
- Your own domain still works: connect it from the dashboard and it becomes the address of Element and of the server for apps, for example
chat.example.com. - But user IDs keep the devoster.app name forever. Alice stays
@alice:chat-k3x9q2.devoster.app, and that address keeps working for other servers to find yours.
If IDs on your own domain matter to you, this one-click server isn't the right fit; that needs the domain set before the first install, which this app doesn't offer.
Adding people to your server
There is no public sign-up, so strangers can't create accounts and spam from your server. You add each person. Element has no admin screen for creating accounts, and Synapse's admin API only answers on the server itself, so the simplest way is Synapse's own tool over SSH:
cd /opt/devoster/app
docker compose -p devoster-app exec synapse register_new_matrix_user -c /data/config/00-devoster.yaml http://localhost:8008
It asks for a username and password and whether the user is an admin. Send the person your address, their username and the password, and ask them to change it in Element's settings. Outbound mail ports are blocked by default on Devoster VPS plans and email sign-in is off, so there is no "forgot password" by email: if someone loses theirs, set a new one with the admin API from the server, or deactivate the account and create another.
Private by default: turning federation on
Federation is what lets your users talk to people on other Matrix servers, such as matrix.org. It is off at install: your server is a closed chat for your own users, and it doesn't fetch anything from other servers.
To open it, edit your own settings file over SSH, /opt/devoster/data/matrix/synapse/config/custom.yaml, which updates never overwrite:
- Every server:
federation_domain_whitelist: null - Only servers you trust:
federation_domain_whitelist: [matrix.org, example.com]
Then restart the app from the Devoster dashboard. Federation runs over the normal HTTPS port 443, so there is no extra port to open. Joining very large public rooms on other servers takes a lot of memory and disk, so plan for Starter or more if that is what you want.
Encryption, calls, phones and what is switched off
- Encryption: Element encrypts direct messages and private rooms end to end by default, so even the server stores them unreadable. Each person should set up Element's secure backup with a recovery key; without it, logging out of every device can mean losing the old encrypted history.
- Calls: one-to-one voice and video calls go directly between the two people. There is no TURN relay server, so calls may fail when someone is behind a strict NAT, such as some mobile or office networks. Group calls are switched off.
- On phones: Element in the mobile browser works, and Matrix apps that support signing in with a username and password connect with your server's address.
- Switched off on purpose: link previews (they would make your server fetch any URL posted), widgets and integration managers, analytics and bug reports to third parties. Uploads are limited to 100 MB per file.
Which plan, backups and updates
Plans: Nano runs a private server for a family or a few friends. Micro, the recommendation, gives Synapse bigger caches and room for a small team's history and shared files. Starter suits a larger team, or federation with busy public rooms. Synapse's caches are sized to the plan's RAM, and resized at the next update after you upgrade; plans are not shrunk in place.
Backups: nightly backups (kept 3 days) and your snapshot slot cover the whole VPS. For your own copies, dump the database over SSH from /opt/devoster/app with docker compose -p devoster-app exec db pg_dump -U synapse synapse, and copy /opt/devoster/data/matrix/synapse, which holds uploaded files and the server's signing key. Keep that key safe: it is your server's identity.
Updates: we check new Synapse and Element versions and apply them in a maintenance hour you choose, or when you press Update now. A snapshot of the VPS is taken first, and if the server doesn't come back healthy it is rolled back automatically.
The server is unmanaged: you have full root, and its security and who you give accounts to are your responsibility. Our VPS hardening checklist is a good hour's read.
Frequently Asked Questions
Related pages
- ntfy VPSntfy hosting on a KVM + NVMe VPS in Utah, USA: send push notifications to your phone with one curl request. Private by default, on HTTPS. Nano $3.49/mo.
- Vaultwarden VPSVaultwarden hosting on a KVM + NVMe VPS in Utah, USA: a password manager server that works with the Bitwarden apps, end-to-end encrypted. Nano $3.49/mo.
- WireGuard VPN ServerYour own WireGuard VPN server on a KVM VPS in Utah, USA: wg-easy pre-installed, QR codes for phones, a dedicated IPv4 and unlimited bandwidth. Nano $3.49/mo.