|
1 |
| -# RedisInsight |
2 |
| - |
3 | 1 | [](https://circleci.com/gh/RedisInsight/RedisInsight/tree/latest)
|
| 2 | +[](https://forum.redis.com/c/redisinsight/65) |
| 3 | +[](https://discord.gg/QUkjSsk) |
4 | 4 |
|
5 |
| -Awesome Redis GUI written in Electron, NodeJS and React |
6 |
| - |
7 |
| -## Directory Structure |
8 |
| - |
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 |
15 |
| - |
16 |
| -## Plugins documentation |
17 |
| - |
18 |
| -* [Introduction](docs/plugins/introduction.md) |
19 |
| -* [Installation and Usage](docs/plugins/installation.md) |
20 |
| -* [Plugin Development](docs/plugins/development.md) |
21 |
| - |
22 |
| -## Prerequisites |
23 |
| - |
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 |
27 |
| - |
28 |
| -## Installation |
29 |
| - |
30 |
| -Before development or build you have to install required dependencies |
31 |
| - |
32 |
| -```bash |
33 |
| -$ yarn install |
34 |
| -$ yarn --cwd redisinsight/api/ |
35 |
| -``` |
36 |
| - |
37 |
| -## Development |
38 |
| - |
39 |
| -There are 2 ways to develop: |
40 |
| - |
41 |
| -### Developing using electron app |
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. |
45 |
| - |
46 |
| -```bash |
47 |
| -# Development |
48 |
| -$ yarn start |
49 |
| -``` |
50 |
| - |
51 |
| -### Developing using web |
52 |
| - |
53 |
| -#### Running backend part of the app |
54 |
| - |
55 |
| -Run `yarn --cwd redisinsight/api/ start:dev` to start a local API at `localhost:5000`. |
56 |
| - |
57 |
| -```bash |
58 |
| -# Development |
59 |
| -$ yarn --cwd redisinsight/api/ start:dev |
60 |
| -``` |
61 |
| - |
62 |
| -While the API is running, open your browser and navigate to http://localhost:5000/api/docs. You should see the Swagger UI. |
63 |
| - |
64 |
| -#### Running frontend part of the app |
65 |
| - |
66 |
| -Run `yarn start:web` to start a local server for UI. |
67 |
| - |
68 |
| -```bash |
69 |
| -# Development |
70 |
| -$ yarn start:web |
71 |
| -``` |
72 |
| - |
73 |
| -Web interface will be available at http://localhost:8080 |
74 |
| - |
75 |
| -Now servers will watch for changes and automatically build for you |
76 |
| - |
77 |
| -## Build |
78 |
| - |
79 |
| -### Packaging the desktop app |
80 |
| - |
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 |
| 5 | +# <img src="https://redis.com/wp-content/uploads/2019/11/ico-redisinsight.svg" alt="logo" width="25"/> RedisInsight |
145 | 6 |
|
146 |
| -### Running frontend tests |
| 7 | +**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)!** |
147 | 8 |
|
148 |
| -#### Run UI unit tests |
| 9 | + |
149 | 10 |
|
150 |
| -```bash |
151 |
| - yarn test |
152 |
| -``` |
| 11 | +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. |
153 | 12 |
|
154 |
| -### Running backend tests |
| 13 | +## Overview |
155 | 14 |
|
156 |
| -#### Run backend unit tests |
| 15 | +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. |
157 | 16 |
|
158 |
| -```bash |
159 |
| - # Plain tests |
160 |
| - yarn --cwd redisinsight/api test |
161 |
| - |
162 |
| - # Tests with coverage |
163 |
| - yarn --cwd redisinsight/api test:cov |
164 |
| -``` |
| 17 | +### RedisInsight Highlights: |
165 | 18 |
|
166 |
| -### Run backend integration tests (using local server) |
| 19 | +* Browse, filter and visualise your key-value Redis data structures |
| 20 | +* CRUD support for Lists, Hashes, Strings, Sets, Sorted Sets |
| 21 | +* CRUD support for [RedisJSON](https://oss.redis.com/redisjson/) |
| 22 | +* Introducing Workbench - advanced command line interface with intelligent command auto-complete and complex data visualizations |
| 23 | +* 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/) |
| 24 | +* Visualizations of your [RediSearch](https://oss.redis.com/redisearch/) index queries and aggregations |
| 25 | +* Ability to build your own data visualization plugins |
| 26 | +* Built-in click-through guides for Redis capabilities |
| 27 | +* Oficially supported for Redis OSS, [Redis Cloud](https://redis.com/try-free/). Works with Microsoft Azure Cache for Redis (official support upcoming). |
| 28 | +* Available for macOS, Windows and Linux |
167 | 29 |
|
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 |
| -``` |
| 30 | +Check out the [release notes](https://docs.redis.com/staging/release-ri-v2.0/ri/release-notes/). |
175 | 31 |
|
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 |
| 32 | +## Get started with RedisInsight |
179 | 33 |
|
180 |
| -Example: |
| 34 | +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. |
181 | 35 |
|
182 |
| -If you have redis server running on a different host or port `somehost:7777` with default user pass `somepass` |
| 36 | +The current GA version of RedisInsight is 1.11. You can install RedisInsight 2.0 along with the GA version. |
183 | 37 |
|
184 |
| -You should run test commands with such environment variables |
| 38 | +### Installable |
| 39 | +Available to download for free from [here](https://redis.com/redis-enterprise/redis-insight/#insight-form). |
185 | 40 |
|
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 |
| -``` |
| 41 | +### Build |
| 42 | +Alternatively you can also build from source. See our wiki for instructions. |
193 | 43 |
|
194 |
| -You can find all possible environment variable available in the [constants.ts](redisinsight/api/test/helpers/constants.ts) file |
| 44 | +## Feedback |
195 | 45 |
|
196 |
| -### Run backend integration tests (using docker) |
| 46 | +* Request a new [feature](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=feature_request.md&title=%5BFeature+Request%5D%3A) |
| 47 | +* Upvote [popular feature requests](https://github.com/RedisInsight/RedisInsight/issues?q=is%3Aopen+is%3Aissue+label%3Afeature+sort%3Areactions-%2B1-desc) |
| 48 | +* File a [bug](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=bug_report.md&title=%5BBug%5D%3A) |
197 | 49 |
|
198 |
| -Here you should not care about tests and local redis database configuration |
199 | 50 |
|
200 |
| -We will spin up server inside docker container and run tests over it |
| 51 | +## RedisInsight Plugins |
201 | 52 |
|
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 |
| 53 | +With RedisInsight you can now also extend the core functionality by building your own data visualizations. See our wiki for more information. |
207 | 54 |
|
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_ |
| 55 | +## Contributing |
219 | 56 |
|
| 57 | +If you would like to contribute to the code base or fix and issue, please consult the wiki. |
220 | 58 |
|
221 |
| -### Running E2E tests |
| 59 | +## Telemetry |
222 | 60 |
|
223 |
| -Install E2E tests deps |
| 61 | +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. |
224 | 62 |
|
225 |
| -```bash |
226 |
| - yarn --cwd tests/e2e |
227 |
| -``` |
| 63 | +## License |
228 | 64 |
|
229 |
| -Run E2E tests |
| 65 | +RedisInsight is licensed under [SSPL](/LICENSE) license. |
230 | 66 |
|
231 |
| -```bash |
232 |
| - yarn --cwd tests/e2e test:chrome |
233 |
| -``` |
0 commit comments