Muon

Deploy Muon on Kubernetes

Muon runs as stateless application nodes backed by PostgreSQL — scale the backend horizontally with Helm.

Can Muon run on Kubernetes?

Yes. Muon is designed to run as stateless backend nodes backed by PostgreSQL, installable with a Helm chart, with ingress, TLS and horizontal autoscaling.

It also supports AWS EKS, Azure AKS and Google GKE, as well as any conformant Kubernetes cluster.

Architecture

What a Muon deployment looks like on Kubernetes.

A production Muon install is a handful of Kubernetes resources. The backend and frontend are stateless deployments; all durable state lives in PostgreSQL, so the cluster stays easy to scale and reason about.

Frontend deployment
Stateless React dashboard pods, served behind the ingress.
Backend deployment
Stateless Rust API and ingest nodes — scale replicas up and down freely.
PostgreSQL database
The single source of durable state. Managed Postgres is recommended in production.
Redis / cache
Optional. Planned as a caching layer for later — not required for a standard install.
Ingress
Routes external traffic to the dashboard and the tracking endpoint.
TLS
Terminated at the ingress, e.g. with cert-manager and Let's Encrypt.
Autoscaling
A HorizontalPodAutoscaler adds backend replicas as load rises.
Install with Helm

Two commands to a running cluster.

Add the Muon chart repository, then install the chart. This deploys the backend, dashboard, tracker and supporting resources into your current namespace.

  Install Muon with Helm
# add the Muon chart repository
helm repo add muon https://charts.muon.run

# install Muon into the current namespace
helm install muon muon/muon

Override values (image tags, ingress host, database URL, replica counts) with --set or your own values.yaml.

Scaling

The backend is stateless — scale it horizontally.

Muon backend nodes keep no local state; every request reads and writes PostgreSQL. That means you can add replicas at any time and traffic spreads across them with no coordination. Scale manually, or let a HorizontalPodAutoscaler do it for you.

  Scale the backend
# scale the stateless backend to five replicas
kubectl scale deployment/muon-backend --replicas=5

For automatic scaling, enable a HorizontalPodAutoscaler (HPA) on muon-backend keyed on CPU or request load. As you add backend replicas, PostgreSQL becomes the throughput ceiling — see the production recommendations below.

Production recommendations

Running Muon at scale.

The stateless design keeps the cluster simple. Most production hardening is about the database and the edge.

  • Use managed PostgreSQL. Amazon RDS/Aurora, Cloud SQL, Azure Database for PostgreSQL or Neon — so backups, failover and patching are handled for you.
  • External object storage for exports. Send report and data exports to S3-compatible object storage rather than local pod disk.
  • Enable the HPA. Autoscale muon-backend on load so ingest keeps up with traffic spikes.
  • Ingress with TLS. Terminate TLS at the ingress with cert-manager and automatic certificate renewal.
  • Database backups. Because all state lives in Postgres, schedule automated snapshots or pg_dump backups.
  • Set resource limits. Give backend and frontend pods sensible CPU/memory requests and limits so scheduling and autoscaling behave predictably.
  • Separate read replicas later. For heavy reporting, add PostgreSQL read replicas so analytical queries do not contend with ingest.
Cloud targets

Runs on any conformant Kubernetes.

Muon is not tied to one provider. Point the chart at any cluster with an ingress controller and a PostgreSQL database.

AWS EKSAzure AKSGoogle GKEDigitalOceanHetznerPrivate cloudAir-gapped

Cloud marketplace packaging for one-click installs is planned.

Next steps

Where to go from here.

FAQ

Questions, answered directly.

Does Muon provide a Helm chart?
Yes. Muon ships a Helm chart hosted at charts.muon.run. Add the repository and run helm install muon muon/muon to deploy the backend, dashboard, tracker and supporting resources on any Kubernetes cluster.
Is the Muon backend stateless?
Yes. Muon backend nodes hold no local state — all data lives in PostgreSQL. That means you can scale them horizontally behind Postgres, add or remove replicas freely, and let a HorizontalPodAutoscaler react to load.
Which managed Kubernetes services are supported?
Muon is designed to run on AWS EKS, Azure AKS and Google GKE, as well as DigitalOcean, Hetzner, private cloud and air-gapped clusters. Any conformant Kubernetes cluster with an ingress controller and a PostgreSQL database will work.
Do I need Redis to run Muon?
No. Redis is optional and planned as a caching layer for later. A standard Muon deployment needs only the stateless backend nodes and a PostgreSQL database.
How do I handle backups on Kubernetes?
Because all state lives in PostgreSQL, backups are database backups. Use a managed PostgreSQL service with automated snapshots, or run scheduled pg_dump backups against your own instance. The stateless backend pods need no backup.
Self-hosted · open source

Ship Muon on your cluster.

Start simple with Docker, or go straight to Helm on Kubernetes. Backend, dashboard, tracker and charts — all open source.