redis-ui

📡 P3X Redis UI is a very functional handy database GUI and works in your pocket on the responsive web or as a desktop app


Project maintained by patrikx3 Hosted on GitHub Pages — Theme by mattgraham

NPM Donate for Corifeus / P3X Contact Corifeus / P3X Corifeus @ Facebook Uptime Robot ratio (30 days)

📡 P3X Redis UI is a very functional handy database GUI and works in your pocket on the responsive web or as a desktop app v2024.4.233

Bugs are evident™ - MATRIX️

NodeJS LTS is supported

Built on NodeJs version

v20.12.1

Description

p3x-redis-ui is a Redis GUI which can serve as a backend server on the web or as a desktop application.

Some of the features are coming below. This is open source software.

The best use case for this Redis GUI, if you manage JSON, as it includes JSONEditor and ACE. Check out the different options in the edit json button dialog, besides, you can upload and download binary data. SSH, cluster, sentinel.

Features

Warning

It is not recommend to generate the configuration JSON via a text editor. The perfect solution is to generate the configuration in the GUI, then apply for example in Kubernetes.

AngularJs Vulnerabilities

README and comments

The online current version

https://p3x.redis.patrikx3.com

This Redis database every day in the morning European time CET restores some data, so you may do whatever you want to do.

Besides, you could experience the test app to exit for 1 second, because it could auto update itself. It auto updates itself when the code from Git changes.

Third, it is a snapshot, it is possible, that the features are different from GitHub or NPM as the releases are usually monthly or as they happen.

Screenshots

Screenshots readme

Change log

The change log readme

Releases / Downloadable installer

https://github.com/patrikx3/redis-ui/releases

MacOS

It is building on Intel and Apple silicon.

Fix downloaded file from GitHub

I am not an Apple guru, but I had to download the zip in arm64 version an execute on the unzipped app:

sudo xattr -rd com.apple.quarantine P3X-Redis-UI.app

Snap

LINK

Flathub

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, rpm

AppImage, dep and rpm auto update itself.

To integrate into the menu using AppImage

Execute:

sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt-get update
sudo apt-get install appimagelauncher

After downloading the AppImage, make it an executable.

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 &

On ElectronJs

The app can be found on ElectronJs Apps and search for P3X, you will find it.

CLI

Start up with a server or via a browser and NodeJs/NPM.

Start up with a server readme

Some description about the config file readme

Some description about the config connections readme

Example of config connections

Docker

https://hub.docker.com/r/patrikx3/p3x-redis-ui

Compose

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

Bare

# 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

Kubernetes

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

Contributors

The contributors readme

Development

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

Development of the translations

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

Solution

This solution is not using REST at all, but instead uses Socket.IO 🤣, which is weird, but I like it, it is supposed to be more responsive, as there is no big overhead in the HTTP protocol.

Reference for Socket.IO speed

https://www.google.com/search?q=rest+vs+websocket+comparison+benchmarks

URL links

P3X Redis UI playground

Corifeus P3X Redis UI

AlternativeTo Redis UI

NPM P3X Redis UI

Snap Store

Github.IO Page


🙏 This is an open-source project. Star this repository, if you like it, or even donate to maintain the servers and the development. Thank you so much!

Possible, this server, rarely, is down, please, hang on for 15-30 minutes and the server will be back up.

All my domains (patrikx3.com and corifeus.com) could have minor errors, since I am developing in my free time. However, it is usually stable.

Note about versioning: Versions are cut in Major.Minor.Patch schema. Major is always the current year. Minor is either 4 (January - June) or 10 (July - December). Patch is incremental by every build. If there is a breaking change, it should be noted in the readme.


P3X-REDIS-UI Build v2024.4.233

NPM Donate for Corifeus / P3X Contact Corifeus / P3X Like Corifeus @ Facebook