Self-hosted Valkey monitoring

Your slowlogs contain key names and command arguments. Some infrastructure shouldn't phone home - so BetterDB runs entirely on yours: Docker, Kubernetes, or bare npm, down to fully air-gapped.

docker run -d betterdb/monitor:latest

Then open http://localhost:3001 - see the Docker guide.

Three ways to run it

Docker

docker run -d -p 3001:3001 betterdb/monitor:latest

One container with backend and frontend, multi-arch (amd64/arm64). Add PostgreSQL for persistent history; a no-AI variant is the default image.

Setup guide →

Kubernetes / Helm

helm install betterdb-monitor betterdb/betterdb-monitor

Published Helm chart with PostgreSQL-backed history, bring-your-own Secrets, ingress support, and air-gapped licensing documented.

Setup guide →

npm CLI

npx @betterdb/monitor

No Docker required. An interactive wizard configures the database connection, storage backend (SQLite, PostgreSQL, or in-memory), and server settings.

Built for infrastructure that can't phone home

Your data stays yours

Slowlogs and client analytics contain key names, command arguments, and IPs. Self-hosting keeps all of it inside your network - nothing leaves.

Air-gapped operation

Runs with zero internet connectivity. Pro/Enterprise entitlements are signed JWTs verified locally against embedded public keys - no license server callback, ever.

Private-network reach

SSH tunnels (with optional host-key pinning) reach databases behind bastions, and an outbound-WebSocket agent reaches VPC-only ElastiCache and MemoryDB.

Secrets encrypted at rest

Set an ENCRYPTION_KEY and connection passwords, SSH keys, and passphrases are envelope-encrypted in storage.

Your storage, your retention

History lives in your PostgreSQL (or SQLite for smaller setups). Retention is your policy, on your disks.

No per-host pricing surprises

The core monitor is MIT-licensed. One deployment can monitor multiple Valkey/Redis instances.

Full walkthrough: air-gapped monitoring for Valkey and Redis →

FAQ

Can I run Valkey monitoring completely offline (air-gapped)?

Yes. BetterDB is designed for it: the monitor runs with no internet access, and paid tiers use signed offline license tokens (RS256 JWTs) that are verified locally against public keys embedded in the image - the host never contacts a license server. Anonymous telemetry can be disabled with a single environment variable.

What are the deployment options?

Three: a Docker image (multi-arch, one container), a Helm chart for Kubernetes with PostgreSQL-backed history and secret management, and an npm CLI (npx @betterdb/monitor) with an interactive setup wizard. All three run the same monitor.

What does self-hosted BetterDB need besides the container?

A Valkey or Redis instance to monitor, and optionally a PostgreSQL database for persistent history (in-memory and SQLite storage work for smaller or ephemeral setups). That is the whole footprint.

How does it reach databases in private networks?

Two mechanisms: SSH tunnels through a bastion (password or key auth, optional host-key fingerprint pinning), and the @betterdb/agent package, which connects outbound over WebSocket from inside the VPC - useful for ElastiCache and MemoryDB. One caveat: cluster and Sentinel fan-out connects to other nodes directly, so per-node views need direct reachability.

Is self-hosting free?

Yes - the core monitor is open source under MIT and free to self-host without registration. Pro features (anomaly detection, key analytics, SLA alerts) are commercial and currently free during early access; they work self-hosted and air-gapped via license tokens.

Part of Valkey monitoring and observability →

Ready to get started?

Start monitoring in minutes - no infrastructure to maintain. Team collaboration, agent-based monitoring for private databases, and more. Or self-host - open source core, zero lock-in.

Self-Hosted Valkey Monitoring: Docker, Kubernetes, Air-Gapped | BetterDB