@mufazmi/rediscover
v1.0.3
Published
Self-hosted Redis management tool with a beautiful web interface
Maintainers
Readme
Rediscover
A Self-Hosted Redis Management Tool with a Modern Web Interface
Rediscover is a production-ready, self-hosted Redis management platform built for developers and teams who need real-time visibility, intuitive key management, and multi-instance control — all from a clean, responsive web interface.
Live Demo · Quick Start · Installation · Configuration · Troubleshooting
🌐 Live Demo
Experience Rediscover before installing — two live instances are available for you to explore:
| Instance | URL | |---|---| | 🟢 Demo Server 1 | rediscover.umairfarooqui.com | | 🟢 Demo Server 2 | rediscover1.umairfarooqui.com |
Demo Credentials (same for both instances)
Username : admin
Password : admin@123These demo environments are shared and reset periodically. Please do not store sensitive data.
✨ Features
| Feature | Description | |---|---| | 📊 Real-time Monitoring | Live stats, memory usage, and performance metrics streamed via WebSocket | | 🗝️ Key Management | Browse, search, create, edit, and delete keys across all Redis data types | | 🔐 Secure Authentication | JWT-based auth with role-based access control | | 🌐 Multi-Connection | Manage multiple Redis instances simultaneously from a single interface | | 📱 Responsive Design | Fully functional on desktop, tablet, and mobile — built with Tailwind CSS + Radix UI | | ⚡ High Performance | Optimized loading and caching for large-scale Redis deployments | | 🎨 Modern UI | Clean, distraction-free interface with thoughtful UX | | 🔧 Flexible Configuration | Configure via environment variables or directly through the built-in UI |
⚡ Quick Start
Get up and running in under a minute:
Via NPM
npm install -g @mufazmi/rediscover && rediscoverVia Docker
docker run -d -p 3000:3000 -p 3001:3001 mufazmi/rediscover:latestOpen http://localhost:3000 in your browser. ✅
📦 Installation
System Requirements
Option 1 — NPM (Recommended)
# Install globally
npm install -g @mufazmi/rediscover
# Verify installation
rediscover --version
# Launch the application
rediscoverThen visit http://localhost:3000.
Tip: If you encounter a permission error, run:
npm config set prefix '~/.npm-global'Then add
~/.npm-global/binto yourPATHand re-install.
Option 2 — Docker
Basic usage:
docker run -d \
--name rediscover \
-p 3000:3000 \
-p 3001:3001 \
mufazmi/rediscover:latestWith custom environment variables:
docker run -d \
--name rediscover \
-p 3000:3000 \
-p 3001:3001 \
-e JWT_SECRET=your-secure-secret \
-e REDIS_HOST=your-redis-host \
-e REDIS_PORT=6379 \
mufazmi/rediscover:latestDocker Compose (recommended for production deployments):
# docker-compose.yml
version: '3.8'
services:
rediscover:
image: mufazmi/rediscover:latest
ports:
- "3000:3000"
- "3001:3001"
environment:
- JWT_SECRET=your-secure-secret-key
- NODE_ENV=production
restart: unless-stopped
redis:
image: redis:7-alpine
ports:
- "6379:6379"
restart: unless-stoppeddocker-compose up -d⚙️ Configuration
Create a .env file in your working directory to customize Rediscover:
# ── Server ─────────────────────────────────────────────────
PORT=3000
BACKEND_PORT=3001
NODE_ENV=production
HOST=0.0.0.0
# ── Security ────────────────────────────────────────────────
JWT_SECRET=your-very-secure-secret-key # Required in production
JWT_EXPIRATION=24h
# ── Redis Connection ─────────────────────────────────────────
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=your-redis-password
REDIS_TIMEOUT=5000
REDIS_TLS=false
# ── Application ──────────────────────────────────────────────
MAX_CONNECTIONS=10
SESSION_TIMEOUT=30
REFRESH_INTERVAL=5
DEBUG=falseEnvironment Variable Reference
| Variable | Default | Description |
|---|---|---|
| PORT | 3000 | Web UI server port |
| BACKEND_PORT | 3001 | Backend API server port |
| NODE_ENV | development | Runtime environment: production or development |
| HOST | localhost | Bind address — use 0.0.0.0 to expose on all interfaces |
| JWT_SECRET | — | Required in production. Secret key used to sign JWT tokens |
| JWT_EXPIRATION | 24h | Token lifetime (e.g. 1h, 7d, 24h) |
| REDIS_HOST | localhost | Default Redis hostname or IP address |
| REDIS_PORT | 6379 | Default Redis port |
| REDIS_PASSWORD | — | Redis AUTH password (leave blank if not set) |
| REDIS_TIMEOUT | 5000 | Connection timeout in milliseconds |
| MAX_CONNECTIONS | 10 | Maximum simultaneous Redis connections |
| REFRESH_INTERVAL | 5 | Dashboard auto-refresh interval in seconds |
| SESSION_TIMEOUT | 30 | Idle session timeout in minutes |
| DEBUG | false | Enable verbose debug logging |
Note: You can also add and manage Redis connections directly from the web UI by clicking Add Connection and entering your server details.
🔧 Troubleshooting
Node.js is not installed on your system. Install it using one of the methods below:
# macOS
brew install node
# Ubuntu / Debian
sudo apt install nodejs npm
# CentOS / RHEL
sudo yum install nodejs npmOr download the official installer at nodejs.org.
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @mufazmi/rediscover# macOS / Linux — kill the process using the port
sudo lsof -ti:3000 | xargs kill -9
# Windows — find and kill the process
netstat -ano | findstr :3000
# Then: taskkill /PID <PID> /F
# Alternatively, run on a different port
PORT=3005 rediscover# Verify Redis is running
redis-cli ping # Expected response: PONG
# Install Redis if not present
sudo apt install redis-server # Ubuntu / Debian
brew install redis && brew services start redis # macOS
sudo yum install redis # CentOS / RHELAlso verify:
- Port
6379is open in your firewall rules - The
binddirective inredis.confpermits connections from your host
- Check the
requirepassdirective in yourredis.conf - Ensure
REDIS_PASSWORDin your.envmatches exactly - Test manually:
redis-cli -a your-password ping
sudo usermod -aG docker $USER
newgrp docker # Apply group change without logging out# Inspect startup logs
docker logs rediscover
# Run interactively to debug
docker run -it --rm -p 3000:3000 -p 3001:3001 mufazmi/rediscover:latest# Export inline
export JWT_SECRET="your-secure-key" && rediscover
# Or persist in .env
echo 'JWT_SECRET=your-secure-key' >> .env- Confirm JavaScript is enabled in your browser
- Temporarily disable browser extensions or ad blockers
- Use a modern browser: Chrome 90+, Firefox 88+, Safari 14+
- Open DevTools → Console and look for JavaScript errors
Enable debug mode for detailed diagnostic logs:
DEBUG=true rediscoverStill stuck? Open a GitHub Issue with your OS, Node.js version, install method, and full error output.
🛠️ Local Development
# Clone the repository
git clone https://github.com/mufazmi/rediscover.git
cd rediscover
# Install dependencies
npm install
# Start the development server
npm run dev
# Run the test suite
npm test
# Build for production
npm run build🤝 Contributing
Contributions are welcome and appreciated — whether it's a bug fix, new feature, documentation improvement, or a question.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Commit your changes:
git commit -m 'Add: your feature description' - Push to the branch:
git push origin feature/your-feature-name - Open a Pull Request
Please read CONTRIBUTING.md before submitting changes.
👨💻 Author
Umair Farooqui — Software Engineer & Certified Ethical Hacker (CEH v13)
🏆 Security Recognition
Recognized by leading global organizations for responsible vulnerability disclosure:
NASA · Dell Technologies · Nokia · Lenovo · Zoom · LG · ABN AMRO Bank · Accenture · Paytm · U.S. Department of Homeland Security · WHO · United Airlines · Drexel University · Radboud University
📄 License
Released under the MIT License. Free to use, modify, and distribute — attribution appreciated.
Made with ❤️ by Umair Farooqui
If Rediscover saves you time, a ⭐ on GitHub goes a long way — thank you!
