📡 P3X Redis UI: A highly functional and convenient database GUI that fits in your pocket, accessible on both responsive web and desktop applications.
Bugs are evident™ - MATRIX️
v22.12.0
p3x-redis-ui is a versatile Redis GUI that can function as either a backend server on the web or as a desktop application. This open-source software is particularly effective for managing JSON, featuring integration with JSONEditor and ACE. Explore a variety of options in the ‘edit json’ button dialog, which also supports uploading and downloading binary data. Additionally, it handles SSH, cluster, and sentinel configurations.
P3XRS_PORT
and P3XRS_DOCKER_HOME
environment variables.[object ArrayBuffer]
. For large values, utilize binary upload and download capabilities.Redis UI provides a powerful interface for managing Redis databases with a focus on security, efficiency, and user experience. Whether you are dealing with small or large data sets, p3x-redis-ui offers robust solutions tailored to meet diverse operational needs.
To ensure accuracy and minimize errors, we strongly advise against manually creating the configuration JSON
file using a text editor. Instead, utilize the GUI to generate the configuration, which can then be seamlessly integrated into systems like Kubernetes.
For detailed information on potential vulnerabilities and mitigation strategies, please refer to our dedicated documentation.
Explore the most current iteration of our project at p3x.redis.patrikx3.com
Data Restoration: Our Redis database automatically restores certain datasets every morning at CET, offering a fresh start daily. Feel free to experiment as needed.
Application Stability: You may notice brief downtime (about 1 second) in our test application, possibly due to automatic updates triggered by changes in the Git repository.
Version Consistency: Please be aware that the live snapshot might differ from the versions available on GitHub or NPM. Updates and new features are typically released monthly or as developments occur.
https://github.com/patrikx3/redis-ui/releases
Our application supports builds for both Intel and Apple Silicon architectures.
Although I’m not an Apple expert, if you download the zip
file for the arm64
version, you’ll need to execute the following command on the unzipped app to remove the quarantine attribute applied by macOS:
sudo xattr -rd com.apple.quarantine P3X-Redis-UI.app
This command ensures that your system trusts the application, allowing it to run smoothly without security interruptions from macOS.
You download from the releases page and install as:
wget https://github.com/patrikx3/redis-ui/releases/download/v${VERSION}/P3X-Redis-UI-${VERSION}-x86_64.flatpak
flatpak install ./P3X-Redis-UI-${VERSION}-x86_64.flatpak
flatpak run com.patrikx3.redis_ui
Besides the menu is integrated.
AppImage, dep and rpm auto update itself.
Execute:
sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt-get update
sudo apt-get install appimagelauncher
mkdir -p $HOME/opt
mv ~/Downloads/p3x-redis-ui-a.b.c-x86_64.AppImage $HOME/opt/
chmod +x $HOME/opt/p3x-redis-ui-a.b.c-x86_64.AppImage
# Then you can run it
$HOME/opt/p3x-redis-ui-a.b.c-x86_64.AppImage &
The app can be found on ElectronJs Apps and search for P3X
, you will find it.
Start up with a server or via a browser and NodeJs/NPM.
Some description about the config file readme
Some description about the config connections readme
https://hub.docker.com/r/patrikx3/p3x-redis-ui
https://github.com/patrikx3/redis-ui/blob/master/docker-compose.yml
wget https://raw.githubusercontent.com/patrikx3/redis-ui/master/docker-compose.yml
# You might want to tune the settings folder in the docker-compose.yml.
# the /home/user/p3x-redis-ui-settings settings folder in yml should be set by yourself.
docker-compose up
# you can tune the settings folder
# in the -v first part is where you can set your own folder
mkdir -p ./p3x-redis-ui-settings
docker run -v $PWD/p3x-redis-ui-settings:/settings -h docker-p3x-redis-ui -p 7843:7843 -t -i patrikx3/p3x-redis-ui
The GUI will be @ http://localhost:7843
A complete example of deployment p3x-redis-ui
in kubernetes using raw manifests
https://github.com/patrikx3/redis-ui/blob/master/k8s/manifests
kubectl apply -f namespace.yaml
# Do not forget to edit redis host and password configuration
kubectl apply -f configmap.yaml
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
kubectl apply -f ingress.yaml
Helm chart p3x-redis-ui
deployment in kubernetes
https://github.com/patrikx3/redis-ui/blob/master/k8s/chart
helm template -f values.yaml release --namespace namespace . > generated.yaml
kubectl apply -f generated.yaml
For file names do not use camelCase, but use kebab-case. Folder should be named as kebab-case as well. As you can see, all code filenames are using it like that, please do not change that.
Please apply the .editorconfig
settings in your IDE.
It creates a package that allows you to compose p3x-redis-ui-server
and p3x-redis-ui-material
into one:
Server on GitHub
Client on GitHub
If you develop on this app, you are required to test, that all JS you code write is working with Electron (as the embedded Electron NodeJs version is usually below the real NodeJs). Once the server and client is running as above, you clone this repo and test like this:
# terminal 1
git clone https://github.com/patrikx3/redis-ui-material.git
cd redis-ui-material
npm install
npm run dev
# terminal 2
git clone https://github.com/patrikx3/redis-ui-server.git
cd redis-ui-server
npm install
npm run dev
# if you are not working on Electron, at this point you can fire the browser
# @ http://localhost:8080/
# terminal 3
git clone https://github.com/patrikx3/redis-ui.git
cd redis-ui
npm install
./scripts/start-local.sh
# or
.\scripts\start-local.cmd
By default, only English is created, but given all strings are from a JS
file, it is very quick to spawn another language eg. German, French, Spanish etc …
For a new language
English strings, for the web UI
English strings, for the Electron
Moment a new language for vendor (require moment/locale)
JSON Editor, to incorporate a new language
Moment a new language for Material (momentDateMap)
Humanize duration
Interestingly, this solution doesn’t employ REST; it opts for Socket.IO instead! 😄 It might seem a bit unconventional, but I actually appreciate the choice. Using Socket.IO is expected to be more responsive, as it avoids the significant overhead associated with the HTTP protocol. This approach should provide a smoother and faster interaction experience.
https://www.google.com/search?q=rest+vs+websocket+comparison+benchmarks
If you appreciate our work, consider starring this repository or making a donation to support server maintenance and ongoing development. Your support means the world to us—thank you!
Our server may occasionally be down, but please be patient. Typically, it will be back online within 15-30 minutes. We appreciate your understanding.
All my domains, including patrikx3.com and corifeus.com, are developed in my spare time. While you may encounter minor errors, the sites are generally stable and fully functional.
Version Structure: We follow a Major.Minor.Patch versioning scheme:
Important Changes: Any breaking changes are prominently noted in the readme to keep you informed.
P3X-REDIS-UI Build v2024.10.121