Skip to main content

    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

    Compare all 8 VPS plans

    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.app with 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

    Synapse, Element and the one-click install are free. You pay only the VPS plan: from $3.49/mo on Nano, or $4.49/mo on the recommended Micro plan, with 10% off yearly. There is no per-user fee.

    No. User IDs end with the devoster.app name the server was installed on, and Matrix doesn't allow that to change. Your domain can still be the address of Element and of the server for apps.

    Once you turn federation on. It is off at install; set federation_domain_whitelist in custom.yaml over SSH (null for every server, or a list) and restart the app from the dashboard.

    Over SSH, with Synapse's register_new_matrix_user tool from /opt/devoster/app. There is no public sign-up, and Element has no admin screen for creating accounts.

    One-to-one calls work when the two people can reach each other directly. There is no TURN server, so calls may fail behind a strict NAT. Group calls are off.

    Element encrypts direct messages and private rooms end to end by default. Ask everyone to set up secure backup with a recovery key, or old messages can be lost when they log out of every device.

    For many small teams, yes: rooms, threads, direct messages, reactions and file sharing in Element. Integrations and group calls are limited compared with hosted chat services, and search in the browser covers unencrypted rooms only.

    No. It is open-source software (Synapse and Element Web) installed on your own VPS. Devoster isn't affiliated with the Matrix.org Foundation or Element.
    Synapse + Element VPS

    Start with Micro at $4.49/mo

    We value your privacy

    We use essential cookies to make our site work, and optional analytics cookies to understand how you use Devoster and improve our services. You can accept all cookies, or adjust your preferences.

    Read more in our Cookie Policy and Privacy Policy. You can change your choices at any time.