Skip to main content

RiDDiX - Matrix Synapse Panel

RiDDiX - Matrix Synapse Panel is a multi-server administration platform for Matrix Synapse homeservers. It provides an admin dashboard for managing registration tokens and a branded public registration page for invited users.

What It Does

  • Manages multiple Synapse homeservers from a single deployment
  • Creates and controls invitation tokens via the Synapse Admin API
  • Provides a public registration page where invited users can create their Matrix accounts
  • White-labels the registration experience with full branding customization
  • Manages bridges and bots for your Matrix infrastructure

Key Features

FeatureDescription
Multi-ServerAdd, configure, enable/disable, and monitor multiple Synapse homeservers
Token ManagementCreate, update, disable, and delete registration tokens with labels and notes
Public RegistrationBranded form with invitation code validation and Matrix UIA registration flow
BrandingFull white-label system: colors, layout presets, logos, content, footer links
IntegrationsInstall and configure bridges (WhatsApp, Signal, Telegram) from a catalog
BotsCreate bots from templates (welcome, moderation, keyword responder, etc.)
Audit LogComplete audit trail for all admin and registration activity
DiagnosticsReal-time Synapse connectivity and configuration checks
SecurityAES-256-GCM encryption, Zod validation, rate limiting, security headers
Dark ModeFull light/dark theme support in the admin dashboard

Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Database: PostgreSQL with Prisma ORM
  • UI: React 19, Tailwind CSS 4, shadcn/ui, Lucide icons
  • Auth: iron-session (encrypted cookies)
  • Validation: Zod
  • Encryption: AES-256-GCM (Node.js crypto)
  • Container: Docker (multi-stage build), Docker Compose

Requirements

  • Node.js 20+
  • PostgreSQL 14+
  • One or more Matrix Synapse homeservers with:
    • enable_registration: true
    • registration_requires_token: true
    • An admin user access token per server

Next Steps