APACHE 2.0 // OPEN SOURCE

Matrix. Supercharged.

A cloud-native Matrix homeserver built on Elixir. Horizontal scaling. Native Kubernetes support. OTP reliability. No YAML nightmares.

100%
Matrix Spec
1-100
Nodes
OTP
Reliability
// FEATURES

Built for production

CLOUD NATIVE

Docker & Kubernetes First

Deploy anywhere with first-class container support. Scale from a single node to 100 with native Kubernetes orchestration.

FULL FEDERATION

Complete Matrix Spec

100% Matrix specification compliance. Federate seamlessly with any other Matrix homeserver in the network.

OTP RELIABILITY

Erlang Supervision Trees

Built on OTP for fault tolerance. Hot code reloading, graceful degradation, and self-healing processes.

ELEMENT X READY

Modern Client Support

Works with Element X, Element Web, and every Matrix client. Sliding sync support for blazing fast mobile experiences.

SIMPLE CONFIG

Environment Variables

No 500-line YAML files. Sensible defaults with environment variable overrides. Get running in minutes.

OIDC AUTH

Native OpenID Connect

Built-in OIDC support. Connect your identity provider—Keycloak, Auth0, Okta, or any OIDC-compliant service.

// QUICK START

Up and running in seconds

docker-compose.yml
services:
  eltrix:
    image: ghcr.io/eltrix/eltrix:latest
    environment:
      ELTRIX_SERVER_NAME: matrix.example.com
      ELTRIX_SECRET_KEY: ${SECRET_KEY}
    ports:
      - "8008:8008"
      - "8448:8448"
    volumes:
      - eltrix_data:/var/lib/eltrix

volumes:
  eltrix_data:
1. Start the server
docker compose up -d
2. Check status
curl http://localhost:8008/_matrix/client/versions
// WHY ELIXIR?

Built on battle-tested technology

Elixir runs on the Erlang VM—the same technology that powers WhatsApp, Discord, and telecom systems processing millions of concurrent connections.

The BEAM VM provides lightweight processes, fault isolation, and the ability to hot-reload code without downtime. Perfect for a real-time communication server.

Elixir Phoenix OTP PostgreSQL
supervision_tree.ex
defmodule Eltrix.Application do
  use Application

  def start(_type, _args) do
    children = [
      # Database connection pool
      Eltrix.Repo,
      # Federation workers
      {Eltrix.Federation.Supervisor, []},
      # Real-time sync
      {Eltrix.Sync.Manager, []},
      # HTTP endpoint
      Eltrix.Web.Endpoint
    ]

    opts = [strategy: :one_for_one]
    Supervisor.start_link(children, opts)
  end
end

Ready to get started?

Deploy your own Matrix homeserver in minutes. Join the community building the future of decentralized communication.