sudoAPWH / Synapse-Dashboard

View on GitHub
Go matrix synapse monitoring self-hosted
About this project

What is Synapse Dashboard?

Synapse Dashboard is a purpose-built monitoring tool for Matrix Synapse homeservers. Instead of spinning up a full Grafana + Prometheus stack with dozens of generic dashboards, this gives you exactly what you need to monitor a Synapse server — in a single, lightweight container.

The entire application is built in Go with zero external dependencies (standard library only), packaged in an ~11MB Alpine container. It reads metrics from Prometheus and presents them through a customizable web dashboard.

By the Numbers

19
Metric Cards
10
Time-Series Charts
0
External Go Dependencies
~11MB
Container Size

Dashboard Features

📊 Metric Cards

19 cards tracking Synapse and PostgreSQL performance: federation stats, room counts, user activity, database connections, and more.

📈 Time-Series Charts

10 interactive charts with selectable time windows (1H, 6H, 24H). Hover tooltips show exact timestamps and formatted values.

🎨 Customizable Layout

Drag-and-drop widget reordering with persistent localStorage. Add, remove, or collapse chart sections to build your ideal view.

🌓 Light/Dark Mode

Toggle between light and dark themes with browser persistence. Automatically remembers your preference.

📱 Responsive Design

Works on desktop and mobile. The layout adapts to your screen size without losing functionality.

🔄 Auto-Refresh

Metrics update automatically every 15 seconds, with a manual refresh button when you need it immediately.

Architecture

Synapse Homeserver (port 9000) │ │ metrics endpoint ▼ Prometheus ◄──── postgres-exporter │ │ │ scrape │ PostgreSQL metrics │ │ ▼ ▼ Synapse Dashboard (Go) │ ├── Queries Prometheus API ├── Serves web UI (standard library HTTP) └── Chart.js for visualization (CDN) │ ▼ ~11MB Alpine Container Zero external Go dependencies Standard library only

Why Not Just Grafana?

Grafana is powerful, but it's also heavy. For a personal Synapse server, you don't need a general-purpose metrics platform with user management, alerting pipelines, and plugin ecosystems. Synapse Dashboard gives you:

  • Purpose-built views — Every metric card and chart is specifically chosen for Synapse monitoring. No configuration needed.
  • Minimal resource usage — ~11MB container with no external Go dependencies. It barely touches your server's resources.
  • Zero configuration — Point it at Prometheus and you're done. No dashboards to import, no panels to configure.
  • Customizable without complexity — Drag-and-drop layout, collapsible sections, and add/remove widgets without touching config files.
Back to all repositories