EQVPS

Self-host Matrix Synapse on a VPS: your own encrypted, federated chat server

Sep 3, 2026 · 2 min read · EQVPS Team

Centralised chat apps own your identity, your contacts and your message history — and can lock any of it away. Matrix is an open, federated protocol for end-to-end encrypted messaging, and Synapse is its reference homeserver. Run it on a VPS and your account, rooms and history live on a server you control — with bridges to other networks and no platform gatekeeper. Pay for the server in crypto, no KYC.

What Synapse needs

Set it up (Ubuntu 24.04, Docker)

# docker-compose.yml — Matrix Synapse + PostgreSQL (client API proxied on 443, federation 8448)
services:
  synapse:
    image: matrixdotorg/synapse:latest
    restart: always
    environment:
      SYNAPSE_SERVER_NAME: yourdomain.com
      SYNAPSE_REPORT_STATS: "no"
    volumes: ["/srv/synapse:/data"]
    ports:
      - "127.0.0.1:8008:8008"   # client API (proxied by Caddy)
      - "8448:8448"             # server-to-server federation
    depends_on: [db]
  db:
    image: postgres:16-alpine
    restart: always
    environment:
      POSTGRES_USER: synapse
      POSTGRES_PASSWORD: change-me-strong
      POSTGRES_DB: synapse
      POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C"
    volumes: ["/srv/synapse-db:/var/lib/postgresql/data"]

Put a TLS reverse proxy in front of the client API:

# TLS + reverse proxy for the client API; matrix.yourdomain.com resolves to your dedicated IP
apt install -y caddy
echo 'matrix.yourdomain.com { reverse_proxy 127.0.0.1:8008 }' > /etc/caddy/Caddyfile
systemctl restart caddy && ufw allow 80,443,8448/tcp

Generate the config, create your first user with register_new_matrix_user, then log in from Element (web/desktop/mobile) pointed at matrix.yourdomain.com — chat you own and federate.

Make it yours

Why EQVPS for Matrix Synapse

Self-host Nextcloud (files, calendar) → · Anonymous VPS hosting explained →

FAQ

Why self-host a Matrix homeserver?

Matrix is an open, federated protocol for end-to-end encrypted chat — like email, but for real-time messaging. Running your own Synapse homeserver means your account, rooms and message history live on a server you control, you set the registration and federation policy, and you can bridge to other networks. You can pay for the server in crypto without ID.

What plan and resources does Synapse need?

Synapse is heavier than a static app — federation and encryption use CPU and RAM, and Postgres benefits from memory. A Small or Medium plan with a dedicated IPv4 is a sensible start for a personal or community server; scale RAM up if you federate widely or host large rooms.

Do I need a dedicated IP and a domain?

Yes. Clients connect over https://matrix.yourdomain.com and federation uses port 8448 — both need a domain, valid TLS and inbound ports, so a dedicated-IPv4 plan. Our NAT plans don't accept inbound. A reverse proxy (Caddy) handles the client API on 443.

Is the chat really end-to-end encrypted?

Yes — Matrix supports end-to-end encryption per room, so message content is encrypted on the client and even you as the server operator can't read it. Because you own the homeserver, no third party holds your metadata or accounts either.

Do you ask for ID or a card?

No. Register with an email, pay in USDC or USDT. No documents, no card, no KYC.

← Back to blogSee plans & pricing →

Comments

No comments yet. Be the first.

Leave a comment

Comments are moderated before they appear.