|
1 |
| -# RedisInsight |
| 1 | +[](https://forum.redis.com/c/redisinsight/65) |
| 2 | +[](https://discord.gg/QUkjSsk) |
2 | 3 |
|
3 |
| -[](https://circleci.com/gh/RedisInsight/RedisInsight/tree/latest) |
| 4 | +# <img src="https://redis.com/wp-content/uploads/2019/11/ico-redisinsight.svg" alt="logo" width="25"/> RedisInsight |
4 | 5 |
|
5 |
| -Awesome Redis GUI written in Electron, NodeJS and React |
| 6 | +**Best in class Redis developer GUI to view and interact with your data! [Download it from here](https://redis.com/redis-enterprise/redis-insight/#insight-form)!** |
6 | 7 |
|
7 |
| -## Directory Structure |
| 8 | + |
8 | 9 |
|
9 |
| -- `redisinsight/ui` - Contains the frontend code |
10 |
| -- `redisinsight/api` - Contains the backend code |
11 |
| -- `docs` - Contains the documentation |
12 |
| -- `scripts` - Build scripts and other build-related files |
13 |
| -- `configs` - Webpack configuration files and other build-related files |
14 |
| -- `tests` - Contains the e2e |
| 10 | +Built with love using [Electron](https://www.electronjs.org/), [Elastic UI](https://elastic.github.io/eui/#/), [Monaco Editor](https://microsoft.github.io/monaco-editor/) and NodeJS. |
15 | 11 |
|
16 |
| -## Plugins documentation |
| 12 | +## Overview |
17 | 13 |
|
18 |
| -* [Introduction](docs/plugins/introduction.md) |
19 |
| -* [Installation and Usage](docs/plugins/installation.md) |
20 |
| -* [Plugin Development](docs/plugins/development.md) |
| 14 | +RedisInsight is an intuitive and efficient GUI for Redis, allowing you to interact with your databases and manage your data—with built-in support for Redis modules. |
21 | 15 |
|
22 |
| -## Prerequisites |
| 16 | +### RedisInsight Highlights: |
23 | 17 |
|
24 |
| -Make sure you have installed following packages: |
25 |
| -* [Node](https://nodejs.org/en/download/) >=14.x and <16 |
26 |
| -* [yarn](https://www.npmjs.com/package/yarn) >=1.21.3 |
| 18 | +* Browse, filter and visualise your key-value Redis data structures |
| 19 | +* CRUD support for Lists, Hashes, Strings, Sets, Sorted Sets |
| 20 | +* CRUD support for [RedisJSON](https://oss.redis.com/redisjson/) |
| 21 | +* Introducing Workbench - advanced command line interface with intelligent command auto-complete and complex data visualizations |
| 22 | +* Command auto-complete support for [RediSearch](https://oss.redis.com/redisearch/), [RedisJSON](https://oss.redis.com/redisjson/), [RedisGraph](https://oss.redis.com/redisgraph/), [RedisTimeSeries](https://oss.redis.com/redistimeseries/), [RedisAI](https://oss.redis.com/redisai/) |
| 23 | +* Visualizations of your [RediSearch](https://oss.redis.com/redisearch/) index queries and aggregations |
| 24 | +* Ability to build your own data visualization plugins |
| 25 | +* Built-in click-through guides for Redis capabilities |
| 26 | +* Oficially supported for Redis OSS, [Redis Cloud](https://redis.com/try-free/). Works with Microsoft Azure Cache for Redis (official support upcoming). |
| 27 | +* Available for macOS, Windows and Linux |
27 | 28 |
|
28 |
| -## Installation |
| 29 | +Check out the [release notes](https://docs.redis.com/latest/ri/release-notes/). |
29 | 30 |
|
30 |
| -Before development or build you have to install required dependencies |
| 31 | +## Get started with RedisInsight |
31 | 32 |
|
32 |
| -```bash |
33 |
| -$ yarn install |
34 |
| -$ yarn --cwd redisinsight/api/ |
35 |
| -``` |
| 33 | +This repository includes the code for the newly released in public preview RedisInsight 2.0. Check out the [blogpost](https://redis.com/blog/introducing-redisinsight-2/) announcing it. |
36 | 34 |
|
37 |
| -## Development |
| 35 | +The current GA version of RedisInsight is 1.11. You can install RedisInsight 2.0 along with the GA version. |
38 | 36 |
|
39 |
| -There are 2 ways to develop: |
| 37 | +### Installable |
| 38 | +Available to download for free from [here](https://redis.com/redis-enterprise/redis-insight/#insight-form). |
40 | 39 |
|
41 |
| -### Developing using electron app |
| 40 | +### Build |
| 41 | +Alternatively you can also build from source. See our wiki for instructions. |
42 | 42 |
|
43 |
| -After you have installed all dependencies you can now run the app. |
44 |
| -Run `yarn start` to start an electron application that will watch and build for you. |
| 43 | +* [How to build](https://github.com/RedisInsight/RedisInsight/wiki/How-to-build-and-contribute) |
45 | 44 |
|
46 |
| -```bash |
47 |
| -# Development |
48 |
| -$ yarn start |
49 |
| -``` |
| 45 | +## Feedback |
50 | 46 |
|
51 |
| -### Developing using web |
| 47 | +* Request a new [feature](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=feature_request.md&title=%5BFeature+Request%5D%3A) |
| 48 | +* Upvote [popular feature requests](https://github.com/RedisInsight/RedisInsight/issues?q=is%3Aopen+is%3Aissue+label%3Afeature+sort%3Areactions-%2B1-desc) |
| 49 | +* File a [bug](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=bug_report.md&title=%5BBug%5D%3A) |
52 | 50 |
|
53 |
| -#### Running backend part of the app |
54 | 51 |
|
55 |
| -Run `yarn --cwd redisinsight/api/ start:dev` to start a local API at `localhost:5000`. |
| 52 | +## RedisInsight Plugins |
56 | 53 |
|
57 |
| -```bash |
58 |
| -# Development |
59 |
| -$ yarn --cwd redisinsight/api/ start:dev |
60 |
| -``` |
| 54 | +With RedisInsight you can now also extend the core functionality by building your own data visualizations. See our wiki for more information. |
61 | 55 |
|
62 |
| -While the API is running, open your browser and navigate to http://localhost:5000/api/docs. You should see the Swagger UI. |
| 56 | +* [Plugin Documentation](https://github.com/RedisInsight/RedisInsight/wiki/Plugin-Documentation) |
63 | 57 |
|
64 |
| -#### Running frontend part of the app |
| 58 | +## Contributing |
65 | 59 |
|
66 |
| -Run `yarn start:web` to start a local server for UI. |
| 60 | +If you would like to contribute to the code base or fix and issue, please consult the wiki. |
67 | 61 |
|
68 |
| -```bash |
69 |
| -# Development |
70 |
| -$ yarn start:web |
71 |
| -``` |
| 62 | +* [How to build and contribute](https://github.com/RedisInsight/RedisInsight/wiki/How-to-build-and-contribute) |
72 | 63 |
|
73 |
| -Web interface will be available at http://localhost:8080 |
| 64 | +## Telemetry |
74 | 65 |
|
75 |
| -Now servers will watch for changes and automatically build for you |
| 66 | +RedisInsight includes an opt-in telemetry system, that is leveraged to help improve the developer experience (DX) within the app. We value your privacy, so stay assured, that all the data collected is anonymised. |
76 | 67 |
|
77 |
| -## Build |
| 68 | +## License |
78 | 69 |
|
79 |
| -### Packaging the desktop app |
| 70 | +RedisInsight is licensed under [SSPL](/LICENSE) license. |
80 | 71 |
|
81 |
| -#### Building statics for enablement area and default plugins |
82 |
| - |
83 |
| -Run `yarn build:statics` or `yarn build:statics:win` for Windows |
84 |
| - |
85 |
| -After you have installed all dependencies you can package the app. |
86 |
| -Run `yarn package:prod` to package app for the local platform: |
87 |
| - |
88 |
| -```bash |
89 |
| -# Production |
90 |
| -$ yarn package:prod |
91 |
| -``` |
92 |
| - |
93 |
| -And packaged installer will be in the folder _./release_ |
94 |
| - |
95 |
| -### Create docker image |
96 |
| - |
97 |
| -There are 2 different docker images available |
98 |
| - |
99 |
| -- Image with API and UI |
100 |
| -- Image with API only |
101 |
| - |
102 |
| -#### Build Docker image with UI |
103 |
| - |
104 |
| -```bash |
105 |
| - docker build . |
106 |
| -``` |
107 |
| - |
108 |
| -Image exposes 5000 port |
109 |
| - |
110 |
| -Api docs - /api/docs |
111 |
| - |
112 |
| -Main UI - / |
113 |
| - |
114 |
| -Example: |
115 |
| - |
116 |
| -```bash |
117 |
| - docker build -t redisinsight . |
118 |
| -``` |
119 |
| - |
120 |
| -```bash |
121 |
| - docker run -p 5000:5000 -d --cap-add ipc_lock redisinsight |
122 |
| -``` |
123 |
| - |
124 |
| -Then api docs and main ui should be available on http://localhost:5000/api/docs and http://localhost:5000 |
125 |
| - |
126 |
| -#### Build Docker with API only |
127 |
| - |
128 |
| -Image exposes 5000 port |
129 |
| - |
130 |
| -Api docs - /api/docs |
131 |
| - |
132 |
| -Example: |
133 |
| - |
134 |
| -```bash |
135 |
| - docker build -f api.Dockerfile -t api.redisinsight . |
136 |
| -``` |
137 |
| - |
138 |
| -```bash |
139 |
| - docker run -p 5000:5000 -d --cap-add ipc_lock api.redisinsight |
140 |
| -``` |
141 |
| - |
142 |
| -Then api docs and main ui should be available on http://localhost:5000/api/docs |
143 |
| - |
144 |
| -## Tests |
145 |
| - |
146 |
| -### Running frontend tests |
147 |
| - |
148 |
| -#### Run UI unit tests |
149 |
| - |
150 |
| -```bash |
151 |
| - yarn test |
152 |
| -``` |
153 |
| - |
154 |
| -### Running backend tests |
155 |
| - |
156 |
| -#### Run backend unit tests |
157 |
| - |
158 |
| -```bash |
159 |
| - # Plain tests |
160 |
| - yarn --cwd redisinsight/api test |
161 |
| - |
162 |
| - # Tests with coverage |
163 |
| - yarn --cwd redisinsight/api test:cov |
164 |
| -``` |
165 |
| - |
166 |
| -### Run backend integration tests (using local server) |
167 |
| - |
168 |
| -```bash |
169 |
| - # Plain tests |
170 |
| - yarn --cwd redisinsight/api test:api |
171 |
| - |
172 |
| - # Tests with coverage |
173 |
| - yarn --cwd redisinsight/api test:api:cov |
174 |
| -``` |
175 |
| - |
176 |
| -> **_NOTE_**: Using `yarn test:api*` scripts you should have redis server up and running. |
177 |
| -By default tests will look on `localhost:6379` without any auth |
178 |
| -To customize tests configs you should run test with proper environment variables |
179 |
| - |
180 |
| -Example: |
181 |
| - |
182 |
| -If you have redis server running on a different host or port `somehost:7777` with default user pass `somepass` |
183 |
| - |
184 |
| -You should run test commands with such environment variables |
185 |
| - |
186 |
| -```bash |
187 |
| - # Plain tests |
188 |
| - TEST_REDIS_HOST=somehost \ |
189 |
| - TEST_REDIS_PORT=7777 \ |
190 |
| - TEST_REDIS_PASSWORD-somepass \ |
191 |
| - yarn --cwd redisinsight/api test:api |
192 |
| -``` |
193 |
| - |
194 |
| -You can find all possible environment variable available in the [constants.ts](redisinsight/api/test/helpers/constants.ts) file |
195 |
| - |
196 |
| -### Run backend integration tests (using docker) |
197 |
| - |
198 |
| -Here you should not care about tests and local redis database configuration |
199 |
| - |
200 |
| -We will spin up server inside docker container and run tests over it |
201 |
| - |
202 |
| -```bash |
203 |
| - # run this this command |
204 |
| - ./redisinsight/api/test/test-runs/start-test-run.sh -r oss-st-6 |
205 |
| -``` |
206 |
| -- -r - is the Redis Test Environment name |
207 |
| - |
208 |
| -We are supporting several test environments to run tests on various Redis databases: |
209 |
| -- **oss-st-5** - _OSS Standalone v5_ |
210 |
| -- **oss-st-5-pass** - _OSS Standalone v5 with admin pass required_ |
211 |
| -- **oss-st-6** - _OSS Standalone v6 and all modules_ |
212 |
| -- **oss-st-6-tls** - _OSS Standalone v6 with TLS enabled_ |
213 |
| -- **oss-st-6-tls-auth** - _OSS Standalone v6 with TLS auth required_ |
214 |
| -- **oss-clu** - _OSS Cluster_ |
215 |
| -- **oss-clu-tls** - _OSS Cluster with TLS enabled_ |
216 |
| -- **oss-sent** - _OSS Sentinel_ |
217 |
| -- **re-st** - _Redis Enterprise with Standalone inside_ |
218 |
| -- **re-clu** - _Redis Enterprise with Cluster inside_ |
219 |
| - |
220 |
| - |
221 |
| -### Running E2E tests |
222 |
| - |
223 |
| -Install E2E tests deps |
224 |
| - |
225 |
| -```bash |
226 |
| - yarn --cwd tests/e2e |
227 |
| -``` |
228 |
| - |
229 |
| -Run E2E tests |
230 |
| - |
231 |
| -```bash |
232 |
| - yarn --cwd tests/e2e test:chrome |
233 |
| -``` |
0 commit comments