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.
Three ways to run it
Docker
docker run -d -p 3001:3001 betterdb/monitor:latestOne 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-monitorPublished Helm chart with PostgreSQL-backed history, bring-your-own Secrets, ingress support, and air-gapped licensing documented.
Setup guide →npm CLI
npx @betterdb/monitorNo 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.
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.