{"id":18642,"library":"p3x-redis-ui","title":"P3X Redis UI","description":"P3X Redis UI is a feature-rich Redis GUI that runs as a web server application or standalone desktop app (Electron). Current stable version is 2026.4.2007, released weekly with active development. It uniquely offers three interchangeable frontends (Angular, React, Vue) with full feature parity, live switching via Settings. Supports SSH, cluster, sentinel, ACL management, JSON editing with CodeMirror, binary upload/download, and 54 languages. Includes an AI assistant with 15 read-only Redis tools. Can be deployed via Docker, npm, or Snapcraft. Minimum Node.js v22 required.","status":"active","version":"2026.4.2007","language":"javascript","source_language":"en","source_url":"https://github.com/patrikx3/redis-ui","tags":["javascript","redis","ui","gui","web","electron","desktop","server","angularjs"],"install":[{"cmd":"npm install p3x-redis-ui","lang":"bash","label":"npm"},{"cmd":"yarn add p3x-redis-ui","lang":"bash","label":"yarn"},{"cmd":"pnpm add p3x-redis-ui","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Redis client for connecting to Redis servers","package":"ioredis","optional":false},{"reason":"Web framework for the server-side API","package":"koa","optional":false},{"reason":"Required for desktop GUI (optional for web-only usage)","package":"electron","optional":true},{"reason":"JSON editor component","package":"codemirror","optional":false},{"reason":"UI framework for Vue frontend","package":"vuetify","optional":true},{"reason":"UI framework for Angular frontend","package":"@angular/material","optional":true},{"reason":"UI framework for React frontend","package":"@mui/material","optional":true}],"imports":[{"note":"ESM-only since v2025. CommonJS require() will fail.","wrong":"const p3xRedisUi = require('p3x-redis-ui')","symbol":"default","correct":"import p3xRedisUi from 'p3x-redis-ui'"},{"note":"Named export, not default. Available in server bundle only.","wrong":"import Server from 'p3x-redis-ui/server'","symbol":"Server","correct":"import { Server } from 'p3x-redis-ui/server'"},{"note":"ElectronApp is exported from the electron subpath. Not available in web mode.","wrong":"import { Electron } from 'p3x-redis-ui'","symbol":"ElectronApp","correct":"import { ElectronApp } from 'p3x-redis-ui/electron'"},{"note":"Full path required for internal modules; not exposed at package root.","wrong":"import { Connection } from 'p3x-redis-ui'","symbol":"RedisConnection","correct":"import { RedisConnection } from 'p3x-redis-ui/lib/connection'"}],"quickstart":{"code":"// Quick start: run as a web server\nimport p3xRedisUi from 'p3x-redis-ui';\n\nconst server = new p3xRedisUi.Server({\n  port: process.env.PORT ? parseInt(process.env.PORT) : 7843,\n  settingsPath: process.env.SETTINGS_PATH ?? './settings',\n  redis: {\n    host: process.env.REDIS_HOST ?? '127.0.0.1',\n    port: process.env.REDIS_PORT ? parseInt(process.env.REDIS_PORT) : 6379,\n    password: process.env.REDIS_PASSWORD ?? ''\n  }\n});\n\nserver.start().then(() => {\n  console.log('P3X Redis UI started on http://localhost:' + server.port);\n}).catch(err => {\n  console.error('Failed to start:', err);\n  process.exit(1);\n});","lang":"typescript","description":"Starts the P3X Redis UI web server on port 7843 (or from environment variable), connecting to a local Redis instance with optional password."},"warnings":[{"fix":"Upgrade Node.js to v22.0.0 or later.","message":"Minimum Node.js version raised to 22.0.0 (from 12.13.0) since v2026.4. Older Node.js versions will cause runtime errors.","severity":"breaking","affected_versions":"<2026.4"},{"fix":"Switch to import syntax or use dynamic import().","message":"ESM-only from v2025. CommonJS require() calls will fail with ERR_REQUIRE_ESM.","severity":"breaking","affected_versions":">=2025.0.0"},{"fix":"Use Settings > GUI to switch to React or Vue if needed.","message":"The legacy AngularJS frontend (deprecated) was removed. All existing installations default to Angular.","severity":"deprecated","affected_versions":">=2026.0.0"},{"fix":"Explicitly set PORT environment variable or pass port option.","message":"The default server port changed from 7843 to 8080 in v2025.1. Configurations relying on the old default may fail.","severity":"gotcha","affected_versions":">=2025.1.0"},{"fix":"Ensure Redis user has BGSAVE permission or configure server accordingly.","message":"The SAVE command is replaced by BGSAVE for non-blocking snapshots (since v2026.4.2005). Old configs using SAVE may cause permission errors if Redis denies BGSAVE.","severity":"deprecated","affected_versions":">=2026.4.2005"},{"fix":"Always pull patrikx3/p3x-redis-ui:latest and set imagePullPolicy: Always.","message":"Docker: Use latest tag with imagePullPolicy: Always. Version-specific tags are not guaranteed to be stable.","severity":"gotcha","affected_versions":"all"},{"fix":"Run your own instance via Docker or npm for persistent data.","message":"Live demo at p3x.redis.patrikx3.com resets data daily (CET) and may differ from npm/GitHub release. Do not use for production or sensitive data.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install p3x-redis-ui' and use correct import: 'import p3xRedisUi from 'p3x-redis-ui''","cause":"Missing or incorrect import path, or package not installed.","error":"Error: Cannot find module 'p3x-redis-ui'"},{"fix":"Use 'import { Server } from 'p3x-redis-ui/server'' instead of 'const { Server } = require('p3x-redis-ui')'","cause":"Using CommonJS 'require' to import ESM-only package.","error":"TypeError: Server is not a constructor"},{"fix":"Kill existing process or set PORT variable to a different port.","cause":"Port 7843 already in use by another instance.","error":"Error: listen EADDRINUSE :::7843"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}