Emulate Redis and PostgreSQL locally with a single CLI command. Built-in web dashboard, persistent storage, and wire-compatible drivers — no Docker, no cloud, fully offline.
$ npm install -g localdb-simulator + localdb-simulator@0.1.0 $ lds init ✔ Created localdb-simulator.yaml $ lds start ✔ redis running 127.0.0.1:6379 ✔ postgres running 127.0.0.1:5432 ◆ Dashboard http://127.0.0.1:8080 $ lds status NAME STATUS PORT UPTIME MEMORY redis running 6379 12s 4.2 MB postgres running 5432 12s 38.1 MB
No cloud account, no Docker daemon, no network required.
Redis and PostgreSQL run as pure Node.js processes. Nothing to install beyond npm i -g localdb-simulator.
Built-in dashboard at localhost:8080 — service cards, live metrics charts, log streaming, and a data browser.
lds start, lds stop, lds logs, lds status. Auto-starts the server if not running.
Toggle persistence: true per service. Data survives restarts using LevelDB snapshots (Redis) or pglite files (PostgreSQL).
Connect with your existing code. ioredis, redis, pg, node-postgres — all work without modification.
All services bind to 127.0.0.1 only. No telemetry. No network calls on startup. Completely air-gapped friendly.
Each emulator is wire-compatible — use your existing client library unchanged.
RESP over TCP. Full command set: strings, hashes, lists, sets, sorted sets, pub/sub, TTL, SELECT, pipelines.
127.0.0.1:6379
ioredis · redis
Powered by pglite (WebAssembly). Multi-database, MD5/trust auth, JSONB, prepared statements, transactions.
127.0.0.1:5432
pg · node-postgres
File-based via better-sqlite3. Manages .db files with a full data browser. No TCP port (embedded).
file:// path
better-sqlite3
Powered by mongodb-memory-server — official mongod binary (~77 MB, cached after first run). Multi-database, aggregation pipeline, indexes.
127.0.0.1:27017
mongodb driver
Requires Docker daemon. Spawns an official mysql:8 container. Gracefully disabled when Docker is unavailable.
127.0.0.1:3306
mysql2 · Sequelize
Up and running in under a minute.
# npm $ npm install -g localdb-simulator # pnpm $ pnpm add -g localdb-simulator # yarn $ yarn global add localdb-simulator
# Generates localdb-simulator.yaml $ lds init # Or copy the sample config and edit # localdb-simulator.yaml: version: "1" services: redis: enabled: true port: 6379
$ lds start ✔ redis running 127.0.0.1:6379 ✔ postgres running 127.0.0.1:5432 ◆ Dashboard http://127.0.0.1:8080 # Or start a specific service $ lds start redis
// Redis import Redis from 'ioredis'; const redis = new Redis('redis://127.0.0.1:6379'); // PostgreSQL import { Pool } from 'pg'; const pool = new Pool({ host: '127.0.0.1', port: 5432, database: 'myapp_dev', });
The dashboard generates ready-to-paste .env connection strings for all running services.
Click the copy button, paste into your project — done.
# Redis REDIS_URL=redis://127.0.0.1:6379 # PostgreSQL DATABASE_URL=postgresql://postgres@127.0.0.1:5432/myapp_dev POSTGRES_HOST=127.0.0.1 POSTGRES_PORT=5432 POSTGRES_DB=myapp_dev # MongoDB MONGODB_URI=mongodb://127.0.0.1:27017/myapp_dev