From 7f34361c5400355ba557eb7991699f2e443c3f7d Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 11 Dec 2023 16:52:41 +0100 Subject: [PATCH 01/45] Create install-on-aws --- .../install-redisinsight/install-on-aws | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 docs/install/install-redisinsight/install-on-aws diff --git a/docs/install/install-redisinsight/install-on-aws b/docs/install/install-redisinsight/install-on-aws new file mode 100644 index 0000000000..a0a146ed31 --- /dev/null +++ b/docs/install/install-redisinsight/install-on-aws @@ -0,0 +1,84 @@ +--- +Title: Install RedisInsight on AWS EC2 +date: 2023-01-15 10:00:00 +0530 +weight: 50 +categories: ["RI"] +path: install-redisinsight/install-on-aws/ +altTag: Install RedisInsight on AWS EC2 +--- +This tutorial shows how to install RedisInsight on an AWS EC2 instance and manage ElastiCache Redis instances using RedisInsight. To complete this tutorial you must have access to the AWS Console and permissions to launch EC2 instances. + +Step 1: Create a new IAM Role (Optional) +-------------- + +RedisInsight needs read-only access to S3 and ElastiCache APIs. This is an optional step. + +1. Login to AWS Console, and navigate to IAM screen +1. Create a new IAM Role +1. Under *Select type of trusted entity*, choose EC2. In other words, the role is used by an EC2 instance +1. Assign the following permissions: + * AmazonS3ReadOnlyAccess + * AmazonElastiCacheReadOnlyAccess + +Step 2: Launch EC2 Instance +-------------- + +Next, launch an EC2 instance. + +1. Navigate to EC2 under AWS Console +1. Click Launch Instance +1. Choose 64 bit Amazon Linux AMI +1. Choose at least a t2.medium instance. The size of the instance depends on the memory used by your ElastiCache instance that you want to analyze +1. Under Configure Instance: + * Choose the VPC that has your ElastiCache instances + * Choose a subnet that has network access to your ElastiCache instances + * Ensure that your EC2 instance has a public IP Address + * Assign the IAM role that you created in Step 1 +1. Under the storage section, ensure at least 100 GiB storage +1. Under security group, ensure that: + * Incoming traffic is allowed on port 8001 + * Incoming traffic is allowed on port 22 only during installation +1. Review and launch the ec2 instance + +Step 3: Verify Permissions and Connectivity +---------- + +Next, verify the EC2 instance has the required IAM permissions, and can connect to ElastiCache Redis instances. + +1. SSH into the newly launched EC2 instance +1. Open a command prompt +1. Run the command `aws s3 ls`. This should list S3 buckets + 1. If the `aws` command cannot be found, make sure your ec2 instance is based of amazon linux +1. Next, find the hostname an ElastiCache instance you want to analyze, and run the command `echo info | nc 6379` +1. If you see some details about the ElastiCache redis instance, you can proceed to the next step +1. If you cannot connect to redis, you should review your VPC, subnet, and security group settings. + +Step 4: Install Docker on EC2 +------- + +Next, install Docker on the EC2 instance. Run the following commands: + +1. `sudo yum update -y` +1. `sudo yum install -y docker` +1. `sudo service docker start` +1. `sudo usermod -a -G docker ec2-user` +1. Log out and log back in again to pick up the new docker group permissions. +1. To verify, run `docker ps`. You should see some output without having to run sudo + +Step 5: Run RedisInsight Docker Container +------- + +Finally, we can now install RedisInsight. Run the following command + +```bash +docker run -v redisinsight:/db -p 8001:8001 redis/redisinsight:latest +``` + +This command downloads and runs the RedisInsight docker image and exposes it as a web page on port 8001. + +Find the IP Address of your EC2 instances, and a launch your browser to `http://:8001`. You should see the Databases page of RedisInsight. Accept the EULA and start using RedisInsight. + +Summary +------ + +In this guide, we installed RedisInsight on an EC2 instance running Docker. As a next step, you should now add an ElastiCache Redis Instance and then run the memory analysis. From f9df4d75dafd688b98f75115bdbde1b9a09c84c3 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 11 Dec 2023 17:49:46 +0100 Subject: [PATCH 02/45] adding description for RedisInsight on Docker --- .../install-redisinsight/configuration.md | 37 +++ .../{install-on-aws => install-on-aws.md} | 4 +- .../install-redisinsight/install-on-docker.md | 53 +++ .../install-redisinsight/install-on-k8s.md | 314 ++++++++++++++++++ 4 files changed, 406 insertions(+), 2 deletions(-) create mode 100644 docs/install/install-redisinsight/configuration.md rename docs/install/install-redisinsight/{install-on-aws => install-on-aws.md} (97%) create mode 100644 docs/install/install-redisinsight/install-on-docker.md create mode 100644 docs/install/install-redisinsight/install-on-k8s.md diff --git a/docs/install/install-redisinsight/configuration.md b/docs/install/install-redisinsight/configuration.md new file mode 100644 index 0000000000..8f5a61758f --- /dev/null +++ b/docs/install/install-redisinsight/configuration.md @@ -0,0 +1,37 @@ +--- +Title: Configure RedisInsight +date: 2024-01-15 10:00:00 +weight: 60 +categories: ["RI"] +path: install/install-redisinsight/configuration +altTag: Configure RedisInsight +--- +You can configure RedisInsight with system environment variables. + +To configure RedisInsight with environment variables: + +1. Set environment variables for your operating system: + + - [Mac](https://apple.stackexchange.com/a/106814) + - [Windows](https://support.microsoft.com/en-au/topic/how-to-manage-environment-variables-in-windows-xp-5bf6725b-655e-151c-0b55-9a8c9c7f747d) + - [Linux](https://askubuntu.com/a/58828) + - [Docker](https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables--e---env---env-file) + +1. Set the environment variables. +1. Restart RedisInsight. + +## RedisInsight environment variables + +The following environment variables can be set to configure RedisInsight: + +| Environment variable | Description | Type | Default | +| --- | --- | --- | --- | +| RI_APP_PORT | Port which RedisInsight should listen to. | Number | `8001` | +| RI_APP_HOST | Host which RedisInsight should listen to. | String | `"0.0.0.0"` on Docker and `"127.0.0.1"` on Windows, Mac, and Linux. | +| RI_HOME_DIR | Sets the storage directory where RedisInsight stores application data (such as local databases, logs, and snapshot files). | String | `"~/.redisinsight"` on desktop, `"/db"` on docker. | +| RILOGDIR | Sets the logging storage directory where RedisInsight stores application logs. | String | "~/.redisinsight" on desktop, "/db" on docker. | +| RI_LOG_LEVEL | Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. | String | `"WARNING"` | +| RI_TRUSTED_ORIGINS | Configures the trusted origins of the application. | String | `""` | +| RI_PROXY_ENABLE | Enables Subpath Proxy for the application. | Boolean | `False` | +| RI_PROXY_PATH | Configures Subpath Proxy path for the application. Examples: `"/redisinsight"`, `"/myapp"` | String | `""` | +| RI_PROXY_PREFIX | Sets the Subpath proxy prefix HTTP header field name for the application. The application uses the value from this HTTP header key as proxy subpath. | String | `"X-Forwarded-Prefix"` | \ No newline at end of file diff --git a/docs/install/install-redisinsight/install-on-aws b/docs/install/install-redisinsight/install-on-aws.md similarity index 97% rename from docs/install/install-redisinsight/install-on-aws rename to docs/install/install-redisinsight/install-on-aws.md index a0a146ed31..cb56a7cb82 100644 --- a/docs/install/install-redisinsight/install-on-aws +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -1,9 +1,9 @@ --- Title: Install RedisInsight on AWS EC2 -date: 2023-01-15 10:00:00 +0530 +date: 2024-01-15 10:00:00 weight: 50 categories: ["RI"] -path: install-redisinsight/install-on-aws/ +path: install/install-redisinsight/install-on-aws/ altTag: Install RedisInsight on AWS EC2 --- This tutorial shows how to install RedisInsight on an AWS EC2 instance and manage ElastiCache Redis instances using RedisInsight. To complete this tutorial you must have access to the AWS Console and permissions to launch EC2 instances. diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md new file mode 100644 index 0000000000..6105c4c03f --- /dev/null +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -0,0 +1,53 @@ +--- +Title: Install RedisInsight on Docker +date: 2024-01-15 10:00:00 +weight: 30 +categories: ["RI"] +path: install/install-redisinsight/install-on-docker/ +altTag: Install RedisInsight on Docker +--- +This tutorial shows how to install RedisInsight on [Docker](https://www.docker.com/) so you can use RedisInsight in development. +See a separate guide for installing [RedisInsight on AWS]({{< relref "/docs/install/install-on-aws.md" >}}). + +## Install Docker + +The first step is to [install Docker for your operating system](https://docs.docker.com/install/). + +## Run RedisInsight Docker image + +Next, run the RedisInsight container. + +```bash +{docker run -v redisinsight:/db -p 8001:8001 redis/redisinsight:latest} +``` + +Then, point your browser to [http://localhost:8001](http://localhost:8001). + +RedisInsight also provides a health check endpoint at [http://localhost:8001/healthcheck/](http://localhost:8001/healthcheck/) to monitor the health of the running container. + +If everything worked, you should see the following output in the terminal: + +``` +Starting webserver... +Visit http://0.0.0.0:8001 in your web browser. +Press CTRL-C to exit. +``` + +### Resolving permission errors + +If the previous command returns a permissions error, ensure the directory you pass as a volume to the container has necessary permissions for the container to access it. Run the following command: + +```bash +{chown -R 1001 redisinsight} +``` + +### Adding flags to the run command + +You can use additional flags with the `docker run` command: + +1. You can add the `-it` flag to see the logs and view the progress. +1. On Linux, you can add `--network host`. This makes it easy to work with redis running on your local machine. +1. To analyze RDB files stored in S3, you can add the access key and secret access key as environment variables using the `-e` flag. + + For example: `-e AWS_ACCESS_KEY= -e AWS_SECRET_KEY=` + diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md new file mode 100644 index 0000000000..ed0e9f69ff --- /dev/null +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -0,0 +1,314 @@ +--- +Title: Install RedisInsight on Kubernetes +date: 2024-01-15 10:00:00 +weight: 40 +categories: ["RI"] +path: install/install-redisinsight/install-on-k8s/ +altTag: Install RedisInsight on Kubernetes +--- +In this walkthrough, we will install RedisInsight on [Kubernetes](https://kubernetes.io/). +This is an easy way to use RedisInsight with a [Redis Enterprise K8s deployment](https://redis.io/docs/about/redis-enterprise/#:~:text=and%20Multi%2Dcloud-,Redis%20Enterprise%20Software,-Redis%20Enterprise%20Software). + +## Create the RedisInsight deployment and service + +Below is an annotated YAML file that will create a RedisInsight +deployment and a service in a k8s cluster. + +1. Create a new file redisinsight.yaml with the content below + +```yaml +# RedisInsight service with name 'redisinsight-service' +apiVersion: v1 +kind: Service +metadata: + name: redisinsight-service # name should not be 'redisinsight' + # since the service creates + # environment variables that + # conflicts with redisinsight + # application's environment + # variables `REDISINSIGHT_HOST` and + # `REDISINSIGHT_PORT` +spec: + type: LoadBalancer + ports: + - port: 80 + targetPort: 8001 + selector: + app: redisinsight +--- +# RedisInsight deployment with name 'redisinsight' +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redisinsight #deployment name + labels: + app: redisinsight #deployment label +spec: + replicas: 1 #a single replica pod + selector: + matchLabels: + app: redisinsight #which pods is the deployment managing, as defined by the pod template + template: #pod template + metadata: + labels: + app: redisinsight #label for pod/s + spec: + containers: + + - name: redisinsight #Container name (DNS_LABEL, unique) + image: redis/redisinsight:latest #repo/image + imagePullPolicy: IfNotPresent #Always pull image + volumeMounts: + - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. + mountPath: /db + ports: + - containerPort: 8001 #exposed container port and protocol + protocol: TCP + volumes: + - name: db + emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir +``` + +2. Create the RedisInsight deployment and service + +```sh +kubectl apply -f redisinsight.yaml +``` + +3. Once the deployment and service are successfully applied and complete, access RedisInsight. This can be accomplished by listing the using the `` of the service we created to reach redisinsight. + +```sh +$ kubectl get svc redisinsight-service +NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE +redisinsight-service 80:32143/TCP 1m +``` + +4. If you are using minikube, run `minikube list` to list the service and access RedisInsight at `http://:`. +``` +$ minikube list +|-------------|----------------------|--------------|---------------------------------------------| +| NAMESPACE | NAME | TARGET PORT | URL | +|-------------|----------------------|--------------|---------------------------------------------| +| default | kubernetes | No node port | | +| default | redisinsight-service | 80 | http://: | +| kube-system | kube-dns | No node port | | +|-------------|----------------------|--------------|---------------------------------------------| +``` + +## Create the RedisInsight deployment with persistant storage + +Below is an annotated YAML file that will create a RedisInsight +deployment in a K8s cluster. It will assign a peristent volume created from a volume claim template. +Write access to the container is configured in an init container. When using deployments +with persistent writeable volumes, it's best to set the strategy to `Recreate`. Otherwise you may find yourself +with two pods trying to use the same volume. + +1. Create a new file `redisinsight.yaml` with the content below. + +```yaml +# RedisInsight service with name 'redisinsight-service' +apiVersion: v1 +kind: Service +metadata: + name: redisinsight-service # name should not be 'redisinsight' + # since the service creates + # environment variables that + # conflicts with redisinsight + # application's environment + # variables `REDISINSIGHT_HOST` and + # `REDISINSIGHT_PORT` +spec: + type: LoadBalancer + ports: + - port: 80 + targetPort: 8001 + selector: + app: redisinsight +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: redisinsight-pv-claim + labels: + app: redisinsight +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: default +--- +# RedisInsight deployment with name 'redisinsight' +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redisinsight #deployment name + labels: + app: redisinsight #deployment label +spec: + replicas: 1 #a single replica pod + strategy: + type: Recreate + selector: + matchLabels: + app: redisinsight #which pods is the deployment managing, as defined by the pod template + template: #pod template + metadata: + labels: + app: redisinsight #label for pod/s + spec: + volumes: + - name: db + persistentVolumeClaim: + claimName: redisinsight-pv-claim + initContainers: + - name: init + image: busybox + command: + - /bin/sh + - '-c' + - | + chown -R 1001 /db + resources: {} + volumeMounts: + - name: db + mountPath: /db + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + containers: + - name: redisinsight #Container name (DNS_LABEL, unique) + image: redis/redisinsight:latest #repo/image + imagePullPolicy: IfNotPresent #Always pull image + volumeMounts: + - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. + mountPath: /db + ports: + - containerPort: 8001 #exposed container port and protocol + protocol: TCP +``` + +2. Create the RedisInsight deployment and service. + +```sh +kubectl apply -f redisinsight.yaml +``` + +## Create the RedisInsight deployment without a service. + +Below is an annotated YAML file that will create a RedisInsight +deployment in a K8s cluster. + +1. Create a new file redisinsight.yaml with the content below + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redisinsight #deployment name + labels: + app: redisinsight #deployment label +spec: + replicas: 1 #a single replica pod + selector: + matchLabels: + app: redisinsight #which pods is the deployment managing, as defined by the pod template + template: #pod template + metadata: + labels: + app: redisinsight #label for pod/s + spec: + containers: + - name: redisinsight #Container name (DNS_LABEL, unique) + image: redis/redisinsight:latest #repo/image + imagePullPolicy: IfNotPresent #Always pull image + env: + # If there's a service named 'redisinsight' that exposes the + # deployment, we manually set `REDISINSIGHT_HOST` and + # `REDISINSIGHT_PORT` to override the service environment + # variables. + - name: REDISINSIGHT_HOST + value: "0.0.0.0" + - name: REDISINSIGHT_PORT + value: "8001" + volumeMounts: + - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. + mountPath: /db + ports: + - containerPort: 8001 #exposed conainer port and protocol + protocol: TCP + livenessProbe: + httpGet: + path : /healthcheck/ # exposed RI endpoint for healthcheck + port: 8001 # exposed container port + initialDelaySeconds: 5 # number of seconds to wait after the container starts to perform liveness probe + periodSeconds: 5 # period in seconds after which liveness probe is performed + failureThreshold: 1 # number of liveness probe failures after which container restarts + volumes: + - name: db + emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir +``` + +2. Create the RedisInsight deployment + +```sh +kubectl apply -f redisinsight.yaml +``` + +{{< note >}} +If the deployment will be exposed by a service whose name is 'redisinsight', set `REDISINSIGHT_HOST` and `REDISINSIGHT_PORT` environment variables to override the environment variables created by the service. +{{< /note >}} + +3. Once the deployment has been successfully applied and the deployment complete, access RedisInsight. This can be accomplished by exposing the deployment as a K8s Service or by using port forwarding, as in the example below: + +```sh +kubectl port-forward deployment/redisinsight 8001 +``` + +Open your browser and point to + +## Helm Chart (Experimental) + +You can download the RedisInsight helm chart from **[here](/pkgs/redisinsight-chart-0.1.0.tgz)**. + +1. After downloading, install the helm chart using the following command: + +```sh +helm install redisinsight redisinsight-chart-0.1.0.tgz --set service.type=NodePort +``` + +{{< note >}} +The service type is [NodePort](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport) which allows us to access redisinsight from outside k8s cluster. +{{< /note >}} + +You get the following output: +``` +NAME: redisinsight +LAST DEPLOYED: Wed Dec 16 10:46:08 2020 +NAMESPACE: default +STATUS: deployed +REVISION: 1 +NOTES: +1. Get the application URL by running these commands: + export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services redisinsight-redisinsight-chart) + export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT + +``` + +2. Run the commands mentioned in the output to get the end point: + +```sh +export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services redisinsight-redisinsight-chart) +export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}") +echo http://$NODE_IP:$NODE_PORT #Example: http://172.17.0.2:32388 + +``` + +3. Open your browser and point to `http://:` from the previous command. + +4. To uninstall the helm chart: + +```sh +helm uninstall redisinsight +``` \ No newline at end of file From 7f86a5310817453418119232ef3ede9cee77298b Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 29 Dec 2023 12:15:01 +0100 Subject: [PATCH 03/45] Update configuration.md --- docs/install/install-redisinsight/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/configuration.md b/docs/install/install-redisinsight/configuration.md index 8f5a61758f..6856cdf8fd 100644 --- a/docs/install/install-redisinsight/configuration.md +++ b/docs/install/install-redisinsight/configuration.md @@ -34,4 +34,4 @@ The following environment variables can be set to configure RedisInsight: | RI_TRUSTED_ORIGINS | Configures the trusted origins of the application. | String | `""` | | RI_PROXY_ENABLE | Enables Subpath Proxy for the application. | Boolean | `False` | | RI_PROXY_PATH | Configures Subpath Proxy path for the application. Examples: `"/redisinsight"`, `"/myapp"` | String | `""` | -| RI_PROXY_PREFIX | Sets the Subpath proxy prefix HTTP header field name for the application. The application uses the value from this HTTP header key as proxy subpath. | String | `"X-Forwarded-Prefix"` | \ No newline at end of file +| RI_PROXY_PREFIX | Sets the Subpath proxy prefix HTTP header field name for the application. The application uses the value from this HTTP header key as a proxy subpath. | String | `"X-Forwarded-Prefix"` | From 484ed2ceb4d42e6dc50de138ebce755a49c77e60 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 29 Dec 2023 12:18:46 +0100 Subject: [PATCH 04/45] Update configuration.md --- docs/install/install-redisinsight/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/configuration.md b/docs/install/install-redisinsight/configuration.md index 6856cdf8fd..07b3116ae6 100644 --- a/docs/install/install-redisinsight/configuration.md +++ b/docs/install/install-redisinsight/configuration.md @@ -27,7 +27,7 @@ The following environment variables can be set to configure RedisInsight: | Environment variable | Description | Type | Default | | --- | --- | --- | --- | | RI_APP_PORT | Port which RedisInsight should listen to. | Number | `8001` | -| RI_APP_HOST | Host which RedisInsight should listen to. | String | `"0.0.0.0"` on Docker and `"127.0.0.1"` on Windows, Mac, and Linux. | +| RI_APP_HOST | Host which RedisInsight should listen to. | String | `0.0.0.0` on Docker and `127.0.0.1` on Windows, Mac, and Linux. | | RI_HOME_DIR | Sets the storage directory where RedisInsight stores application data (such as local databases, logs, and snapshot files). | String | `"~/.redisinsight"` on desktop, `"/db"` on docker. | | RILOGDIR | Sets the logging storage directory where RedisInsight stores application logs. | String | "~/.redisinsight" on desktop, "/db" on docker. | | RI_LOG_LEVEL | Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. | String | `"WARNING"` | From 9958abe1f39d7079abbfaa435d34bcabeebcbbac Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:20:24 +0100 Subject: [PATCH 05/45] Update configuration.md --- docs/install/install-redisinsight/configuration.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/docs/install/install-redisinsight/configuration.md b/docs/install/install-redisinsight/configuration.md index 07b3116ae6..6a18cd6c34 100644 --- a/docs/install/install-redisinsight/configuration.md +++ b/docs/install/install-redisinsight/configuration.md @@ -1,6 +1,6 @@ --- Title: Configure RedisInsight -date: 2024-01-15 10:00:00 +date: 2024-01-30 10:00:00 weight: 60 categories: ["RI"] path: install/install-redisinsight/configuration @@ -26,12 +26,7 @@ The following environment variables can be set to configure RedisInsight: | Environment variable | Description | Type | Default | | --- | --- | --- | --- | -| RI_APP_PORT | Port which RedisInsight should listen to. | Number | `8001` | +| RI_APP_PORT | Port which RedisInsight should listen to. | Number | `5540` | | RI_APP_HOST | Host which RedisInsight should listen to. | String | `0.0.0.0` on Docker and `127.0.0.1` on Windows, Mac, and Linux. | -| RI_HOME_DIR | Sets the storage directory where RedisInsight stores application data (such as local databases, logs, and snapshot files). | String | `"~/.redisinsight"` on desktop, `"/db"` on docker. | -| RILOGDIR | Sets the logging storage directory where RedisInsight stores application logs. | String | "~/.redisinsight" on desktop, "/db" on docker. | | RI_LOG_LEVEL | Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. | String | `"WARNING"` | -| RI_TRUSTED_ORIGINS | Configures the trusted origins of the application. | String | `""` | -| RI_PROXY_ENABLE | Enables Subpath Proxy for the application. | Boolean | `False` | -| RI_PROXY_PATH | Configures Subpath Proxy path for the application. Examples: `"/redisinsight"`, `"/myapp"` | String | `""` | -| RI_PROXY_PREFIX | Sets the Subpath proxy prefix HTTP header field name for the application. The application uses the value from this HTTP header key as a proxy subpath. | String | `"X-Forwarded-Prefix"` | +| RI_FILES_LOGGER | Log to file | Boolean | `False` | From b8c984d0de11ecdc37dc8aaeda6df502687bb4af Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:36:46 +0100 Subject: [PATCH 06/45] Update install-on-aws.md --- .../install-redisinsight/install-on-aws.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index cb56a7cb82..345853ced9 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -1,6 +1,6 @@ --- Title: Install RedisInsight on AWS EC2 -date: 2024-01-15 10:00:00 +date: 2024-01-30 10:00:00 weight: 50 categories: ["RI"] path: install/install-redisinsight/install-on-aws/ @@ -68,15 +68,21 @@ Next, install Docker on the EC2 instance. Run the following commands: Step 5: Run RedisInsight Docker Container ------- -Finally, we can now install RedisInsight. Run the following command +Finally, we can now install RedisInsight. Run the following command to download and run the RedisInsight docker image. + +1. If you do not wat to persist your RedisInsight data. + +```bash +docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest +``` +2. If you want to persist your RedisInsight data, make sure that the user inside the container has the necessary permissions on the mounted volume (`/db` in the example below) ```bash -docker run -v redisinsight:/db -p 8001:8001 redis/redisinsight:latest +docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/db ``` -This command downloads and runs the RedisInsight docker image and exposes it as a web page on port 8001. -Find the IP Address of your EC2 instances, and a launch your browser to `http://:8001`. You should see the Databases page of RedisInsight. Accept the EULA and start using RedisInsight. +Find the IP Address of your EC2 instances, and launch your browser at `http://:5540`. Accept the EULA and start using RedisInsight. Summary ------ From 9eec82554202e44ffbd8212642719dbc9a75a591 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:37:21 +0100 Subject: [PATCH 07/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 345853ced9..f6955caba9 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -80,8 +80,6 @@ docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/db ``` - - Find the IP Address of your EC2 instances, and launch your browser at `http://:5540`. Accept the EULA and start using RedisInsight. Summary From c33223671912577c6dd3bcd272189d6e94bb083a Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:37:58 +0100 Subject: [PATCH 08/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index f6955caba9..9ef3a7839c 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -70,7 +70,7 @@ Step 5: Run RedisInsight Docker Container Finally, we can now install RedisInsight. Run the following command to download and run the RedisInsight docker image. -1. If you do not wat to persist your RedisInsight data. +1. If you do not want to persist your RedisInsight data. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest From e76ff63ea9fefe0cfffdc00e38248c098cf55231 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:38:48 +0100 Subject: [PATCH 09/45] Update install-on-docker.md --- .../install-redisinsight/install-on-docker.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index 6105c4c03f..50892b6fe9 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -17,19 +17,26 @@ The first step is to [install Docker for your operating system](https://docs.doc Next, run the RedisInsight container. +1. If you do not want to persist your RedisInsight data. + +```bash +docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest +``` +2. If you want to persist your RedisInsight data, make sure that the user inside the container has the necessary permissions on the mounted volume (`/db` in the example below) + ```bash -{docker run -v redisinsight:/db -p 8001:8001 redis/redisinsight:latest} +docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/db ``` -Then, point your browser to [http://localhost:8001](http://localhost:8001). +Then, point your browser to [http://localhost:5540](http://localhost:5540). -RedisInsight also provides a health check endpoint at [http://localhost:8001/healthcheck/](http://localhost:8001/healthcheck/) to monitor the health of the running container. +RedisInsight also provides a health check endpoint at [http://localhost:5540/healthcheck/](http://localhost:5540/healthcheck/) to monitor the health of the running container. If everything worked, you should see the following output in the terminal: ``` Starting webserver... -Visit http://0.0.0.0:8001 in your web browser. +Visit http://0.0.0.0:5540 in your web browser. Press CTRL-C to exit. ``` From 2c597563c190aaca285b53e3925c5d1cf310bd17 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:39:20 +0100 Subject: [PATCH 10/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 9ef3a7839c..51edd71fc5 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -36,7 +36,7 @@ Next, launch an EC2 instance. * Assign the IAM role that you created in Step 1 1. Under the storage section, ensure at least 100 GiB storage 1. Under security group, ensure that: - * Incoming traffic is allowed on port 8001 + * Incoming traffic is allowed on port 5540 * Incoming traffic is allowed on port 22 only during installation 1. Review and launch the ec2 instance From 457e47332aba104175c5aa9ffe1916bae61ab6db Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:39:33 +0100 Subject: [PATCH 11/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index 50892b6fe9..f1f2a20cfa 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -1,6 +1,6 @@ --- Title: Install RedisInsight on Docker -date: 2024-01-15 10:00:00 +date: 2024-01-30 10:00:00 weight: 30 categories: ["RI"] path: install/install-redisinsight/install-on-docker/ From 72b9c98fe0e33a305bdc6e4eb113c58eb711e995 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 16:40:56 +0100 Subject: [PATCH 12/45] Update install-on-k8s.md --- .../install-redisinsight/install-on-k8s.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index ed0e9f69ff..e2f3d9bc0d 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -1,6 +1,6 @@ --- Title: Install RedisInsight on Kubernetes -date: 2024-01-15 10:00:00 +date: 2024-01-30 10:00:00 weight: 40 categories: ["RI"] path: install/install-redisinsight/install-on-k8s/ @@ -32,7 +32,7 @@ spec: type: LoadBalancer ports: - port: 80 - targetPort: 8001 + targetPort: 5540 selector: app: redisinsight --- @@ -62,7 +62,7 @@ spec: - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. mountPath: /db ports: - - containerPort: 8001 #exposed container port and protocol + - containerPort: 5540 #exposed container port and protocol protocol: TCP volumes: - name: db @@ -121,7 +121,7 @@ spec: type: LoadBalancer ports: - port: 80 - targetPort: 8001 + targetPort: 5540 selector: app: redisinsight --- @@ -184,7 +184,7 @@ spec: - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. mountPath: /db ports: - - containerPort: 8001 #exposed container port and protocol + - containerPort: 5540 #exposed container port and protocol protocol: TCP ``` @@ -230,17 +230,17 @@ spec: - name: REDISINSIGHT_HOST value: "0.0.0.0" - name: REDISINSIGHT_PORT - value: "8001" + value: "5540" volumeMounts: - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. mountPath: /db ports: - - containerPort: 8001 #exposed conainer port and protocol + - containerPort: 5540 #exposed conainer port and protocol protocol: TCP livenessProbe: httpGet: path : /healthcheck/ # exposed RI endpoint for healthcheck - port: 8001 # exposed container port + port: 5540 # exposed container port initialDelaySeconds: 5 # number of seconds to wait after the container starts to perform liveness probe periodSeconds: 5 # period in seconds after which liveness probe is performed failureThreshold: 1 # number of liveness probe failures after which container restarts @@ -262,10 +262,10 @@ If the deployment will be exposed by a service whose name is 'redisinsight', set 3. Once the deployment has been successfully applied and the deployment complete, access RedisInsight. This can be accomplished by exposing the deployment as a K8s Service or by using port forwarding, as in the example below: ```sh -kubectl port-forward deployment/redisinsight 8001 +kubectl port-forward deployment/redisinsight 5540 ``` -Open your browser and point to +Open your browser and point to ## Helm Chart (Experimental) @@ -311,4 +311,4 @@ echo http://$NODE_IP:$NODE_PORT #Example: http://172.17.0.2:32388 ```sh helm uninstall redisinsight -``` \ No newline at end of file +``` From 7452bd62bff1eb4d8589387e657b62c164da348f Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 22 Jan 2024 18:28:23 +0100 Subject: [PATCH 13/45] Update configuration.md --- .../install-redisinsight/configuration.md | 82 +++++++++++++++---- 1 file changed, 65 insertions(+), 17 deletions(-) diff --git a/docs/install/install-redisinsight/configuration.md b/docs/install/install-redisinsight/configuration.md index 6a18cd6c34..05d00905bc 100644 --- a/docs/install/install-redisinsight/configuration.md +++ b/docs/install/install-redisinsight/configuration.md @@ -6,27 +6,75 @@ categories: ["RI"] path: install/install-redisinsight/configuration altTag: Configure RedisInsight --- -You can configure RedisInsight with system environment variables. +You can configure RedisInsight with the following environment variables. -To configure RedisInsight with environment variables: -1. Set environment variables for your operating system: +### RI_APP_PORT - - [Mac](https://apple.stackexchange.com/a/106814) - - [Windows](https://support.microsoft.com/en-au/topic/how-to-manage-environment-variables-in-windows-xp-5bf6725b-655e-151c-0b55-9a8c9c7f747d) - - [Linux](https://askubuntu.com/a/58828) - - [Docker](https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables--e---env---env-file) +**Description:** Port which RedisInsight should listen to. -1. Set the environment variables. -1. Restart RedisInsight. +**Type:** Number -## RedisInsight environment variables +**Default:** `5540` -The following environment variables can be set to configure RedisInsight: +**Example:** `-e RI_APP_PORT=5001` -| Environment variable | Description | Type | Default | -| --- | --- | --- | --- | -| RI_APP_PORT | Port which RedisInsight should listen to. | Number | `5540` | -| RI_APP_HOST | Host which RedisInsight should listen to. | String | `0.0.0.0` on Docker and `127.0.0.1` on Windows, Mac, and Linux. | -| RI_LOG_LEVEL | Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. | String | `"WARNING"` | -| RI_FILES_LOGGER | Log to file | Boolean | `False` | +### RI_APP_HOST + +**Description:** Host which RedisInsight should listen to. + +**Type:** String + +**Default:** `0.0.0.0` on Docker and `127.0.0.1` on Windows, Mac, and Linux. + +**Example:** `-e RI_APP_HOST=127.0.0.1` + +### RI_LOG_LEVEL + +**Description:** Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. + +**Type:** String + +**Default:** `"WARNING"` + +**Example:** `-e RI_LOG_LEVEL="DEBUG" + +### RI_FILES_LOGGER + +**Description:** Allows to log to file. + +**Type:** Boolean + +**Default:** `true` + +**Example:** `-e RI_FILES_LOGGER=false` + +### RI_ENCRYPTION_KEY + +**Description:** Enables encryption for storing sensitive information (database passwords, Workbench history, etc.) using an encryption key.

`Note:` Securely store the specified encryption key to be able to provide it in the future (e.g. during the startup process), otherwise RedisInsight will not be able to decrypt the information. + +**Type:** String + +**Default:** no defailt value + +**Example:** `-e RI_ENCRYPTION_KEY=b3daa77b4c04a9551b8781d03191fe098f325e67` + +### RI_SERVER_TLS_CERT + +**Description:** Provides a path to a file with TLS certificate. + +**Type:** String + +**Default:** no defailt value + +**Example:** `-e RI_SERVER_TLS_CERT="/certs/example.crt` + +### RI_SERVER_TLS_KEY + +**Description:** Provides a path to a file with TLS private key. + +**Type:** String + +**Default:** no defailt value + +**Example:** `-e RI_SERVER_TLS_KEY="/certs/example.key` From bbce8ea47de2e1de7c0f7f1ef3072d68882cf246 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 23 Jan 2024 15:07:59 +0100 Subject: [PATCH 14/45] Update and rename configuration.md to env_variables.md --- .../install-redisinsight/configuration.md | 80 ------------------- .../install-redisinsight/env_variables.md | 20 +++++ 2 files changed, 20 insertions(+), 80 deletions(-) delete mode 100644 docs/install/install-redisinsight/configuration.md create mode 100644 docs/install/install-redisinsight/env_variables.md diff --git a/docs/install/install-redisinsight/configuration.md b/docs/install/install-redisinsight/configuration.md deleted file mode 100644 index 05d00905bc..0000000000 --- a/docs/install/install-redisinsight/configuration.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -Title: Configure RedisInsight -date: 2024-01-30 10:00:00 -weight: 60 -categories: ["RI"] -path: install/install-redisinsight/configuration -altTag: Configure RedisInsight ---- -You can configure RedisInsight with the following environment variables. - - -### RI_APP_PORT - -**Description:** Port which RedisInsight should listen to. - -**Type:** Number - -**Default:** `5540` - -**Example:** `-e RI_APP_PORT=5001` - -### RI_APP_HOST - -**Description:** Host which RedisInsight should listen to. - -**Type:** String - -**Default:** `0.0.0.0` on Docker and `127.0.0.1` on Windows, Mac, and Linux. - -**Example:** `-e RI_APP_HOST=127.0.0.1` - -### RI_LOG_LEVEL - -**Description:** Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. - -**Type:** String - -**Default:** `"WARNING"` - -**Example:** `-e RI_LOG_LEVEL="DEBUG" - -### RI_FILES_LOGGER - -**Description:** Allows to log to file. - -**Type:** Boolean - -**Default:** `true` - -**Example:** `-e RI_FILES_LOGGER=false` - -### RI_ENCRYPTION_KEY - -**Description:** Enables encryption for storing sensitive information (database passwords, Workbench history, etc.) using an encryption key.

`Note:` Securely store the specified encryption key to be able to provide it in the future (e.g. during the startup process), otherwise RedisInsight will not be able to decrypt the information. - -**Type:** String - -**Default:** no defailt value - -**Example:** `-e RI_ENCRYPTION_KEY=b3daa77b4c04a9551b8781d03191fe098f325e67` - -### RI_SERVER_TLS_CERT - -**Description:** Provides a path to a file with TLS certificate. - -**Type:** String - -**Default:** no defailt value - -**Example:** `-e RI_SERVER_TLS_CERT="/certs/example.crt` - -### RI_SERVER_TLS_KEY - -**Description:** Provides a path to a file with TLS private key. - -**Type:** String - -**Default:** no defailt value - -**Example:** `-e RI_SERVER_TLS_KEY="/certs/example.key` diff --git a/docs/install/install-redisinsight/env_variables.md b/docs/install/install-redisinsight/env_variables.md new file mode 100644 index 0000000000..09beea4420 --- /dev/null +++ b/docs/install/install-redisinsight/env_variables.md @@ -0,0 +1,20 @@ +--- +Title: Supported environment variables +date: 2024-01-30 10:00:00 +weight: 60 +categories: ["RI"] +path: install/install-redisinsight/env_variables +altTag: Supported environment variables +--- +You can configure RedisInsight with the following environment variables. + +| Variable | Purpose | Default | Additional Info | +| --- | --- | --- |--- | +| RI_APP_PORT | The port that RedisInsight listens on | `5540` | See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| +| RI_APP_HOST | The host that RedisInsight listens on | 0.0.0.0 | See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| +| RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| +| RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| +| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` Securely store the specified encryption key to be able to provide it in the future (e.g. during the startup process), otherwise RedisInsight will not be able to decrypt the information. | +| RI_LOG_LEVEL | Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. | `INFO` | | +| RI_FILES_LOGGER | Log to file | 'true' | | +| RI_STDOUT_LOGGER | Log to STDOUT | 'true' | | From 979f966071c0e98fab02b04ab848352cafbcb73b Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 23 Jan 2024 15:10:54 +0100 Subject: [PATCH 15/45] Update env_variables.md --- docs/install/install-redisinsight/env_variables.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/install/install-redisinsight/env_variables.md b/docs/install/install-redisinsight/env_variables.md index 09beea4420..ab7c1efa07 100644 --- a/docs/install/install-redisinsight/env_variables.md +++ b/docs/install/install-redisinsight/env_variables.md @@ -15,6 +15,6 @@ You can configure RedisInsight with the following environment variables. | RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| | RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| | RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` Securely store the specified encryption key to be able to provide it in the future (e.g. during the startup process), otherwise RedisInsight will not be able to decrypt the information. | -| RI_LOG_LEVEL | Configures the log level of the application. Possible values are - `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR`" and `"CRITICAL"`. | `INFO` | | -| RI_FILES_LOGGER | Log to file | 'true' | | -| RI_STDOUT_LOGGER | Log to STDOUT | 'true' | | +| RI_LOG_LEVEL | Configures the log level of the application. | `INFO` | Possible values are:
`"DEBUG"`
`"INFO"`
`"WARNING"`
`"ERROR"`
`"CRITICAL"` | +| RI_FILES_LOGGER | Log to file | `true` | | +| RI_STDOUT_LOGGER | Log to STDOUT | `true` | | From 380769e8ba72cc4d6e88f75fb13295890e4c5cce Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Tue, 23 Jan 2024 15:11:46 +0100 Subject: [PATCH 16/45] Update and rename env_variables.md to env-variables.md --- .../install-redisinsight/{env_variables.md => env-variables.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/install/install-redisinsight/{env_variables.md => env-variables.md} (97%) diff --git a/docs/install/install-redisinsight/env_variables.md b/docs/install/install-redisinsight/env-variables.md similarity index 97% rename from docs/install/install-redisinsight/env_variables.md rename to docs/install/install-redisinsight/env-variables.md index ab7c1efa07..be7c1ef97f 100644 --- a/docs/install/install-redisinsight/env_variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -3,7 +3,7 @@ Title: Supported environment variables date: 2024-01-30 10:00:00 weight: 60 categories: ["RI"] -path: install/install-redisinsight/env_variables +path: install/install-redisinsight/env-variables altTag: Supported environment variables --- You can configure RedisInsight with the following environment variables. From 171ce40d9cc734d631ed31847ffb74368bee4bd7 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 24 Jan 2024 10:14:13 +0100 Subject: [PATCH 17/45] Update env-variables.md --- .../install-redisinsight/env-variables.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/install/install-redisinsight/env-variables.md b/docs/install/install-redisinsight/env-variables.md index be7c1ef97f..9093849101 100644 --- a/docs/install/install-redisinsight/env-variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -8,13 +8,13 @@ altTag: Supported environment variables --- You can configure RedisInsight with the following environment variables. -| Variable | Purpose | Default | Additional Info | -| --- | --- | --- |--- | -| RI_APP_PORT | The port that RedisInsight listens on | `5540` | See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| -| RI_APP_HOST | The host that RedisInsight listens on | 0.0.0.0 | See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| -| RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| -| RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| -| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` Securely store the specified encryption key to be able to provide it in the future (e.g. during the startup process), otherwise RedisInsight will not be able to decrypt the information. | -| RI_LOG_LEVEL | Configures the log level of the application. | `INFO` | Possible values are:
`"DEBUG"`
`"INFO"`
`"WARNING"`
`"ERROR"`
`"CRITICAL"` | -| RI_FILES_LOGGER | Log to file | `true` | | -| RI_STDOUT_LOGGER | Log to STDOUT | `true` | | +| Variable | Purpose | Default | Additional Info | Example | +| --- | --- | --- | --- | --- | +| RI_APP_PORT | The port that RedisInsight listens on | `5540` | See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| `-e RI_APP_PORT=8001` | +| RI_APP_HOST | The host that RedisInsight listens on |

  • docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| `-e RI_APP_HOST=127.0.0.1` | +| RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| `-e RI_SERVER_TLS_KEY={key}` | +| RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| `-e RI_SERVER_TLS_CERT={certificate}` | +| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | `-e RI_SERVER_TLS_CERT={encryption_key}` | +| RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from 0 to 6 (highest to lowest):
  • error: 0,
  • warn: 1,
  • info: 2,
  • http: 3
  • verbose: 4,
  • debug: 5,
  • silly: 6
| `-e RI_LOG_LEVEL=debug` | +| RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
| `-e RI_FILES_LOGGER=false` | +| RI_STDOUT_LOGGER | Log to STDOUT | `true` | | `-e RI_STDOUT_LOGGER=false` | From d6fd71295faeb88a20641a70a5f946777e1989ce Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 24 Jan 2024 10:26:00 +0100 Subject: [PATCH 18/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 51edd71fc5..4aba90168b 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -75,11 +75,13 @@ Finally, we can now install RedisInsight. Run the following command to download ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, make sure that the user inside the container has the necessary permissions on the mounted volume (`/db` in the example below) +2. If you want to persist your RedisInsight data, create the source directory in advance (`redisinsight` in the example below) with the needed permissions and ownership to avoid permission errors. +After the source directory is created, run the following command. ```bash -docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/db +docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data ``` + Find the IP Address of your EC2 instances, and launch your browser at `http://:5540`. Accept the EULA and start using RedisInsight. Summary From ca358377200fb7c87dc0f467d2883661847a4b0e Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 24 Jan 2024 10:30:28 +0100 Subject: [PATCH 19/45] Update install-on-docker.md --- .../install-redisinsight/install-on-docker.md | 34 ++----------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index f1f2a20cfa..029a4dbc5c 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -22,39 +22,11 @@ Next, run the RedisInsight container. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, make sure that the user inside the container has the necessary permissions on the mounted volume (`/db` in the example below) +2. If you want to persist your RedisInsight data, create the source directory in advance (`redisinsight` in the example below) with the needed permissions and ownership to avoid permission errors. +After the source directory is created, run the following command. ```bash -docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/db +docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data ``` Then, point your browser to [http://localhost:5540](http://localhost:5540). - -RedisInsight also provides a health check endpoint at [http://localhost:5540/healthcheck/](http://localhost:5540/healthcheck/) to monitor the health of the running container. - -If everything worked, you should see the following output in the terminal: - -``` -Starting webserver... -Visit http://0.0.0.0:5540 in your web browser. -Press CTRL-C to exit. -``` - -### Resolving permission errors - -If the previous command returns a permissions error, ensure the directory you pass as a volume to the container has necessary permissions for the container to access it. Run the following command: - -```bash -{chown -R 1001 redisinsight} -``` - -### Adding flags to the run command - -You can use additional flags with the `docker run` command: - -1. You can add the `-it` flag to see the logs and view the progress. -1. On Linux, you can add `--network host`. This makes it easy to work with redis running on your local machine. -1. To analyze RDB files stored in S3, you can add the access key and secret access key as environment variables using the `-e` flag. - - For example: `-e AWS_ACCESS_KEY= -e AWS_SECRET_KEY=` - From 93f02a037df08d46c260944221afc7b503c0b901 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 24 Jan 2024 10:46:22 +0100 Subject: [PATCH 20/45] Update install-on-k8s.md --- .../install-redisinsight/install-on-k8s.md | 97 +++++-------------- 1 file changed, 22 insertions(+), 75 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index e2f3d9bc0d..10655cf0b7 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -26,8 +26,8 @@ metadata: # environment variables that # conflicts with redisinsight # application's environment - # variables `REDISINSIGHT_HOST` and - # `REDISINSIGHT_PORT` + # variables `RI_APP_HOST` and + # `RI_APP_PORT` spec: type: LoadBalancer ports: @@ -57,15 +57,15 @@ spec: - name: redisinsight #Container name (DNS_LABEL, unique) image: redis/redisinsight:latest #repo/image - imagePullPolicy: IfNotPresent #Always pull image + imagePullPolicy: IfNotPresent #Installs the latest RedisInsight version volumeMounts: - - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. - mountPath: /db + - name: data #Pod volumes to mount into the container's filesystem. Cannot be updated. + mountPath: /data ports: - containerPort: 5540 #exposed container port and protocol protocol: TCP volumes: - - name: db + - name: data emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir ``` @@ -115,8 +115,8 @@ metadata: # environment variables that # conflicts with redisinsight # application's environment - # variables `REDISINSIGHT_HOST` and - # `REDISINSIGHT_PORT` + # variables `RI_APP_HOST` and + # `RI_APP_PORT` spec: type: LoadBalancer ports: @@ -159,7 +159,7 @@ spec: app: redisinsight #label for pod/s spec: volumes: - - name: db + - name: data persistentVolumeClaim: claimName: redisinsight-pv-claim initContainers: @@ -169,11 +169,11 @@ spec: - /bin/sh - '-c' - | - chown -R 1001 /db + chown -R 1001 /data resources: {} volumeMounts: - - name: db - mountPath: /db + - name: data + mountPath: /data terminationMessagePath: /dev/termination-log terminationMessagePolicy: File containers: @@ -181,8 +181,8 @@ spec: image: redis/redisinsight:latest #repo/image imagePullPolicy: IfNotPresent #Always pull image volumeMounts: - - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. - mountPath: /db + - name: data #Pod volumes to mount into the container's filesystem. Cannot be updated. + mountPath: /data ports: - containerPort: 5540 #exposed container port and protocol protocol: TCP @@ -224,28 +224,21 @@ spec: imagePullPolicy: IfNotPresent #Always pull image env: # If there's a service named 'redisinsight' that exposes the - # deployment, we manually set `REDISINSIGHT_HOST` and - # `REDISINSIGHT_PORT` to override the service environment + # deployment, we manually set `RI_APP_HOST` and + # `RI_APP_PORT` to override the service environment # variables. - - name: REDISINSIGHT_HOST + - name: RI_APP_HOST value: "0.0.0.0" - - name: REDISINSIGHT_PORT + - name: RI_APP_PORT value: "5540" volumeMounts: - - name: db #Pod volumes to mount into the container's filesystem. Cannot be updated. - mountPath: /db + - name: data #Pod volumes to mount into the container's filesystem. Cannot be updated. + mountPath: /data ports: - containerPort: 5540 #exposed conainer port and protocol protocol: TCP - livenessProbe: - httpGet: - path : /healthcheck/ # exposed RI endpoint for healthcheck - port: 5540 # exposed container port - initialDelaySeconds: 5 # number of seconds to wait after the container starts to perform liveness probe - periodSeconds: 5 # period in seconds after which liveness probe is performed - failureThreshold: 1 # number of liveness probe failures after which container restarts volumes: - - name: db + - name: data emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir ``` @@ -256,7 +249,7 @@ kubectl apply -f redisinsight.yaml ``` {{< note >}} -If the deployment will be exposed by a service whose name is 'redisinsight', set `REDISINSIGHT_HOST` and `REDISINSIGHT_PORT` environment variables to override the environment variables created by the service. +If the deployment will be exposed by a service whose name is 'redisinsight', set `RI_APP_HOST` and `RI_APP_PORT` environment variables to override the environment variables created by the service. {{< /note >}} 3. Once the deployment has been successfully applied and the deployment complete, access RedisInsight. This can be accomplished by exposing the deployment as a K8s Service or by using port forwarding, as in the example below: @@ -266,49 +259,3 @@ kubectl port-forward deployment/redisinsight 5540 ``` Open your browser and point to - -## Helm Chart (Experimental) - -You can download the RedisInsight helm chart from **[here](/pkgs/redisinsight-chart-0.1.0.tgz)**. - -1. After downloading, install the helm chart using the following command: - -```sh -helm install redisinsight redisinsight-chart-0.1.0.tgz --set service.type=NodePort -``` - -{{< note >}} -The service type is [NodePort](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport) which allows us to access redisinsight from outside k8s cluster. -{{< /note >}} - -You get the following output: -``` -NAME: redisinsight -LAST DEPLOYED: Wed Dec 16 10:46:08 2020 -NAMESPACE: default -STATUS: deployed -REVISION: 1 -NOTES: -1. Get the application URL by running these commands: - export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services redisinsight-redisinsight-chart) - export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT - -``` - -2. Run the commands mentioned in the output to get the end point: - -```sh -export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services redisinsight-redisinsight-chart) -export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}") -echo http://$NODE_IP:$NODE_PORT #Example: http://172.17.0.2:32388 - -``` - -3. Open your browser and point to `http://:` from the previous command. - -4. To uninstall the helm chart: - -```sh -helm uninstall redisinsight -``` From 70588d0fb3ac6416647a7651e6efb16608766298 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 24 Jan 2024 18:05:13 +0100 Subject: [PATCH 21/45] Update install-on-k8s.md adding the health check --- docs/install/install-redisinsight/install-on-k8s.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index 10655cf0b7..bc9dbbc111 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -235,8 +235,15 @@ spec: - name: data #Pod volumes to mount into the container's filesystem. Cannot be updated. mountPath: /data ports: - - containerPort: 5540 #exposed conainer port and protocol + - containerPort: 5540 #exposed container port and protocol protocol: TCP + livenessProbe: + httpGet: + path : /healthcheck/ # exposed RI endpoint for healthcheck + port: 5540 # exposed container port + initialDelaySeconds: 5 # number of seconds to wait after the container starts to perform liveness probe + periodSeconds: 5 # period in seconds after which liveness probe is performed + failureThreshold: 1 # number of liveness probe failures after which container restarts volumes: - name: data emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir From 57987a7024f213352bd8d18635dc6d9aec8db194 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:02:06 +0100 Subject: [PATCH 22/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index 029a4dbc5c..347ff3bdbf 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -30,3 +30,5 @@ docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redi ``` Then, point your browser to [http://localhost:5540](http://localhost:5540). + +RedisInsight also provides a health check endpoint at http://localhost:5540/healthcheck/ to monitor the health of the running container. From 55087a563bc291cb3e22dd30f28545b341a86114 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:02:49 +0100 Subject: [PATCH 23/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 4aba90168b..0c1013be44 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -84,6 +84,8 @@ docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redi Find the IP Address of your EC2 instances, and launch your browser at `http://:5540`. Accept the EULA and start using RedisInsight. +RedisInsight also provides a health check endpoint at http://localhost:5540/healthcheck/ to monitor the health of the running container. + Summary ------ From 7e816b9e4dbd8e04b78e901f3d9c99d6741e41f7 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:12:40 +0100 Subject: [PATCH 24/45] Update env-variables.md --- .../install-redisinsight/env-variables.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/install/install-redisinsight/env-variables.md b/docs/install/install-redisinsight/env-variables.md index 9093849101..0372c281dd 100644 --- a/docs/install/install-redisinsight/env-variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -8,13 +8,13 @@ altTag: Supported environment variables --- You can configure RedisInsight with the following environment variables. -| Variable | Purpose | Default | Additional Info | Example | -| --- | --- | --- | --- | --- | -| RI_APP_PORT | The port that RedisInsight listens on | `5540` | See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| `-e RI_APP_PORT=8001` | -| RI_APP_HOST | The host that RedisInsight listens on |
  • docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| `-e RI_APP_HOST=127.0.0.1` | -| RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| `-e RI_SERVER_TLS_KEY={key}` | -| RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| `-e RI_SERVER_TLS_CERT={certificate}` | -| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | `-e RI_SERVER_TLS_CERT={encryption_key}` | -| RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from 0 to 6 (highest to lowest):
  • error: 0,
  • warn: 1,
  • info: 2,
  • http: 3
  • verbose: 4,
  • debug: 5,
  • silly: 6
| `-e RI_LOG_LEVEL=debug` | -| RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
| `-e RI_FILES_LOGGER=false` | -| RI_STDOUT_LOGGER | Log to STDOUT | `true` | | `-e RI_STDOUT_LOGGER=false` | +| Variable | Purpose | Default | Additional Info | +| --- | --- | --- | --- | +| RI_APP_PORT | The port that RedisInsight listens on |
  • docker: 5540
  • desktop: 5530
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| +| RI_APP_HOST | The host that RedisInsight listens on |
  • docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| +| RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| +| RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| +| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | +| RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from 0 to 6 (highest to lowest):
  • error: 0,
  • warn: 1,
  • info: 2,
  • http: 3
  • verbose: 4,
  • debug: 5,
  • silly: 6
| +| RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
| +| RI_STDOUT_LOGGER | Log to STDOUT | `true` | | From d2defe8ad845e4537e7aea45881cead5d0a09524 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:16:06 +0100 Subject: [PATCH 25/45] Update env-variables.md --- docs/install/install-redisinsight/env-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/env-variables.md b/docs/install/install-redisinsight/env-variables.md index 0372c281dd..20437a5cd4 100644 --- a/docs/install/install-redisinsight/env-variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -15,6 +15,6 @@ You can configure RedisInsight with the following environment variables. | RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| | RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| | RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | -| RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from 0 to 6 (highest to lowest):
  • error: 0,
  • warn: 1,
  • info: 2,
  • http: 3
  • verbose: 4,
  • debug: 5,
  • silly: 6
| +| RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from highest to lowest:
  • error
  • warn
  • info
  • http
  • verbose
  • debug
  • silly
| | RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
| | RI_STDOUT_LOGGER | Log to STDOUT | `true` | | From 055933c8965fd676dd4b936c77f47f14361ef199 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:29:33 +0100 Subject: [PATCH 26/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index 347ff3bdbf..f0fec9aa12 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -22,13 +22,16 @@ Next, run the RedisInsight container. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, create the source directory in advance (`redisinsight` in the example below) with the needed permissions and ownership to avoid permission errors. +2. If you want to persist your RedisInsight data, attach docker volume to the `/data` path. After the source directory is created, run the following command. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data ``` +If the previous command returns a permission error, ensure that the user with ID = 1000 has necessary permission to access the volume provided (`redisinsight` in the command above). + + Then, point your browser to [http://localhost:5540](http://localhost:5540). -RedisInsight also provides a health check endpoint at http://localhost:5540/healthcheck/ to monitor the health of the running container. +RedisInsight also provides a health check endpoint at http://localhost:5540/api/health/ to monitor the health of the running container. From 9f9b730d576c9d51f21244fe929a2179fd3fee40 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:33:30 +0100 Subject: [PATCH 27/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 0c1013be44..8d35645769 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -43,7 +43,7 @@ Next, launch an EC2 instance. Step 3: Verify Permissions and Connectivity ---------- -Next, verify the EC2 instance has the required IAM permissions, and can connect to ElastiCache Redis instances. +Next, verify that the EC2 instance has the required IAM permissions, and can connect to ElastiCache Redis instances. 1. SSH into the newly launched EC2 instance 1. Open a command prompt @@ -75,16 +75,17 @@ Finally, we can now install RedisInsight. Run the following command to download ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, create the source directory in advance (`redisinsight` in the example below) with the needed permissions and ownership to avoid permission errors. -After the source directory is created, run the following command. +2. If you want to persist your RedisInsight data, attach docker volume to the `/data` path. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data ``` +If the previous command returns a permission error, ensure that the user with `ID = 1000` has necessary permission to access the volume provided (`redisinsight` in the command above). + Find the IP Address of your EC2 instances, and launch your browser at `http://:5540`. Accept the EULA and start using RedisInsight. -RedisInsight also provides a health check endpoint at http://localhost:5540/healthcheck/ to monitor the health of the running container. +RedisInsight also provides a health check endpoint at `http://:5540/api/health/` to monitor the health of the running container. Summary ------ From 7c68ac64943cda8ced18ee6aa5177b284f300249 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:33:33 +0100 Subject: [PATCH 28/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index f0fec9aa12..b36bc2254f 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -23,15 +23,14 @@ Next, run the RedisInsight container. docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` 2. If you want to persist your RedisInsight data, attach docker volume to the `/data` path. -After the source directory is created, run the following command. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data ``` -If the previous command returns a permission error, ensure that the user with ID = 1000 has necessary permission to access the volume provided (`redisinsight` in the command above). +If the previous command returns a permission error, ensure that the user with `ID = 1000` has necessary permission to access the volume provided (`redisinsight` in the command above). -Then, point your browser to [http://localhost:5540](http://localhost:5540). +Then, point your browser to `[http://localhost:5540](http://localhost:5540)`. -RedisInsight also provides a health check endpoint at http://localhost:5540/api/health/ to monitor the health of the running container. +RedisInsight also provides a health check endpoint at `http://localhost:5540/api/health/` to monitor the health of the running container. From 2fe9084a6f4cfe800a8c070b36600dcd160d80d6 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Fri, 26 Jan 2024 13:35:49 +0100 Subject: [PATCH 29/45] Update install-on-k8s.md --- .../install/install-redisinsight/install-on-k8s.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index bc9dbbc111..df853d5434 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -59,13 +59,13 @@ spec: image: redis/redisinsight:latest #repo/image imagePullPolicy: IfNotPresent #Installs the latest RedisInsight version volumeMounts: - - name: data #Pod volumes to mount into the container's filesystem. Cannot be updated. + - name: redisinsight #Pod volumes to mount into the container's filesystem. Cannot be updated. mountPath: /data ports: - containerPort: 5540 #exposed container port and protocol protocol: TCP volumes: - - name: data + - name: redisinsight emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir ``` @@ -159,7 +159,7 @@ spec: app: redisinsight #label for pod/s spec: volumes: - - name: data + - name: redisinsight persistentVolumeClaim: claimName: redisinsight-pv-claim initContainers: @@ -172,7 +172,7 @@ spec: chown -R 1001 /data resources: {} volumeMounts: - - name: data + - name: redisinsight mountPath: /data terminationMessagePath: /dev/termination-log terminationMessagePolicy: File @@ -181,7 +181,7 @@ spec: image: redis/redisinsight:latest #repo/image imagePullPolicy: IfNotPresent #Always pull image volumeMounts: - - name: data #Pod volumes to mount into the container's filesystem. Cannot be updated. + - name: redisinsight #Pod volumes to mount into the container's filesystem. Cannot be updated. mountPath: /data ports: - containerPort: 5540 #exposed container port and protocol @@ -232,7 +232,7 @@ spec: - name: RI_APP_PORT value: "5540" volumeMounts: - - name: data #Pod volumes to mount into the container's filesystem. Cannot be updated. + - name: redisinsight #Pod volumes to mount into the container's filesystem. Cannot be updated. mountPath: /data ports: - containerPort: 5540 #exposed container port and protocol @@ -245,7 +245,7 @@ spec: periodSeconds: 5 # period in seconds after which liveness probe is performed failureThreshold: 1 # number of liveness probe failures after which container restarts volumes: - - name: data + - name: redisinsight emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir ``` From d8889b9ea173124f114a4c952f965ab29bbc5b18 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 16:15:41 +0100 Subject: [PATCH 30/45] Update install-on-k8s.md --- docs/install/install-redisinsight/install-on-k8s.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index df853d5434..46c9435bcb 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -75,7 +75,7 @@ spec: kubectl apply -f redisinsight.yaml ``` -3. Once the deployment and service are successfully applied and complete, access RedisInsight. This can be accomplished by listing the using the `` of the service we created to reach redisinsight. +3. Once the deployment and service are successfully applied and complete, access RedisInsight. This can be accomplished by using the `` of the service we created to reach redisinsight. ```sh $ kubectl get svc redisinsight-service From 073d22e367a0b2d7dfad1bfe82a3cf7013fc247e Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka Date: Mon, 29 Jan 2024 18:27:26 +0100 Subject: [PATCH 31/45] Updating RedisInsight on Docker --- docs/install/install-redisinsight/_index.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docs/install/install-redisinsight/_index.md diff --git a/docs/install/install-redisinsight/_index.md b/docs/install/install-redisinsight/_index.md new file mode 100644 index 0000000000..a45a4defcf --- /dev/null +++ b/docs/install/install-redisinsight/_index.md @@ -0,0 +1,9 @@ +--- +title: "Install RedisInsight" +linkTitle: "Install RedisInsight" +weight: 3 +description: > + Install RedisInsite on AWS, Docker, and Kubernetes +--- + +This is a an installation guide. You'll learn how to install RedisInsight on Amazon Web Services (AWS), Docker, and Kubernetes. \ No newline at end of file From dcc33b044ae1e4222cc0ed2f772aca9b9a54db1e Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka Date: Mon, 29 Jan 2024 18:30:35 +0100 Subject: [PATCH 32/45] Updating RedisInsight on Docker --- .../install-redisinsight/env-variables.md | 17 ++--- .../install-redisinsight/install-on-aws.md | 73 +++++++++---------- .../install-redisinsight/install-on-docker.md | 22 +++--- .../install-redisinsight/install-on-k8s.md | 27 ++++--- 4 files changed, 67 insertions(+), 72 deletions(-) diff --git a/docs/install/install-redisinsight/env-variables.md b/docs/install/install-redisinsight/env-variables.md index 20437a5cd4..e173fab288 100644 --- a/docs/install/install-redisinsight/env-variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -1,20 +1,19 @@ --- -Title: Supported environment variables -date: 2024-01-30 10:00:00 -weight: 60 -categories: ["RI"] -path: install/install-redisinsight/env-variables -altTag: Supported environment variables +title: "Environment variables" +linkTitle: "Environment variables" +weight: 4 +description: > + RedisInsight supported environment variables --- You can configure RedisInsight with the following environment variables. -| Variable | Purpose | Default | Additional Info | +| Variable | Purpose | Default | Additional info | | --- | --- | --- | --- | | RI_APP_PORT | The port that RedisInsight listens on |
  • docker: 5540
  • desktop: 5530
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| -| RI_APP_HOST | The host that RedisInsight listens on |
  • docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| +| RI_APP_HOST | The host that RedisInsight connects to |
  • docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| | RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| | RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| -| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows to store sensitive information encrypted using the specified encryption key.
`Note:` The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | +| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows you to store sensitive information encrypted using the specified encryption key.
Note: The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | | RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from highest to lowest:
  • error
  • warn
  • info
  • http
  • verbose
  • debug
  • silly
| | RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
| | RI_STDOUT_LOGGER | Log to STDOUT | `true` | | diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 8d35645769..bee566f2ff 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -1,21 +1,20 @@ --- -Title: Install RedisInsight on AWS EC2 -date: 2024-01-30 10:00:00 -weight: 50 -categories: ["RI"] -path: install/install-redisinsight/install-on-aws/ -altTag: Install RedisInsight on AWS EC2 +title: "Install on AWS EC2" +linkTitle: "Install on AWS EC2" +weight: 1 +description: > + How to install RedisInsight on AWS EC2 --- -This tutorial shows how to install RedisInsight on an AWS EC2 instance and manage ElastiCache Redis instances using RedisInsight. To complete this tutorial you must have access to the AWS Console and permissions to launch EC2 instances. +This tutorial shows you how to install RedisInsight on an AWS EC2 instance and manage ElastiCache Redis instances using RedisInsight. To complete this tutorial you must have access to the AWS Console and permissions to launch EC2 instances. -Step 1: Create a new IAM Role (Optional) +Step 1: Create a new IAM Role (optional) -------------- RedisInsight needs read-only access to S3 and ElastiCache APIs. This is an optional step. -1. Login to AWS Console, and navigate to IAM screen -1. Create a new IAM Role -1. Under *Select type of trusted entity*, choose EC2. In other words, the role is used by an EC2 instance +1. Log in to the AWS Console and navigate to the IAM screen. +1. Create a new IAM Role. +1. Under *Select type of trusted entity*, choose EC2. The role is used by an EC2 instance. 1. Assign the following permissions: * AmazonS3ReadOnlyAccess * AmazonElastiCacheReadOnlyAccess @@ -25,32 +24,32 @@ Step 2: Launch EC2 Instance Next, launch an EC2 instance. -1. Navigate to EC2 under AWS Console -1. Click Launch Instance -1. Choose 64 bit Amazon Linux AMI -1. Choose at least a t2.medium instance. The size of the instance depends on the memory used by your ElastiCache instance that you want to analyze +1. Navigate to EC2 under AWS Console. +1. Click Launch Instance. +1. Choose 64-bit Amazon Linux AMI. +1. Choose at least a t2.medium instance. The size of the instance depends on the memory used by your ElastiCache instance that you want to analyze. 1. Under Configure Instance: - * Choose the VPC that has your ElastiCache instances - * Choose a subnet that has network access to your ElastiCache instances - * Ensure that your EC2 instance has a public IP Address - * Assign the IAM role that you created in Step 1 -1. Under the storage section, ensure at least 100 GiB storage + * Choose the VPC that has your ElastiCache instances. + * Choose a subnet that has network access to your ElastiCache instances. + * Ensure that your EC2 instance has a public IP Address. + * Assign the IAM role that you created in Step 1. +1. Under the storage section, allocate at least 100 GiB storage. 1. Under security group, ensure that: * Incoming traffic is allowed on port 5540 * Incoming traffic is allowed on port 22 only during installation -1. Review and launch the ec2 instance +1. Review and launch the ec2 instance. -Step 3: Verify Permissions and Connectivity +Step 3: Verify permissions and connectivity ---------- -Next, verify that the EC2 instance has the required IAM permissions, and can connect to ElastiCache Redis instances. +Next, verify that the EC2 instance has the required IAM permissions and can connect to ElastiCache Redis instances. -1. SSH into the newly launched EC2 instance -1. Open a command prompt -1. Run the command `aws s3 ls`. This should list S3 buckets - 1. If the `aws` command cannot be found, make sure your ec2 instance is based of amazon linux -1. Next, find the hostname an ElastiCache instance you want to analyze, and run the command `echo info | nc 6379` -1. If you see some details about the ElastiCache redis instance, you can proceed to the next step +1. SSH into the newly launched EC2 instance. +1. Open a command prompt. +1. Run the command `aws s3 ls`. This should list all S3 buckets. + 1. If the `aws` command cannot be found, make sure your EC2 instance is based of Amazon Linux. +1. Next, find the hostname of the ElastiCache instance you want to analyze and run the command `echo info | nc 6379`. +1. If you see some details about the ElastiCache Redis instance, you can proceed to the next step. 1. If you cannot connect to redis, you should review your VPC, subnet, and security group settings. Step 4: Install Docker on EC2 @@ -63,31 +62,31 @@ Next, install Docker on the EC2 instance. Run the following commands: 1. `sudo service docker start` 1. `sudo usermod -a -G docker ec2-user` 1. Log out and log back in again to pick up the new docker group permissions. -1. To verify, run `docker ps`. You should see some output without having to run sudo +1. To verify, run `docker ps`. You should see some output without having to run `sudo`. -Step 5: Run RedisInsight Docker Container +Step 5: Run RedisInsight in the Docker container ------- -Finally, we can now install RedisInsight. Run the following command to download and run the RedisInsight docker image. +Finally, install RedisInsight. Run the following command to download and run the RedisInsight Docker image. -1. If you do not want to persist your RedisInsight data. +1. If you do not want to persist your RedisInsight data: ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, attach docker volume to the `/data` path. +2. If you want to persist your RedisInsight data, attach the Docker volume to the `/data` path. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data ``` -If the previous command returns a permission error, ensure that the user with `ID = 1000` has necessary permission to access the volume provided (`redisinsight` in the command above). +If the previous command returns a permission error, ensure that the user with `ID = 1000` has the necessary permission to access the volume provided (`redisinsight` in the command above). -Find the IP Address of your EC2 instances, and launch your browser at `http://:5540`. Accept the EULA and start using RedisInsight. +Find the IP Address of your EC2 instances and launch your browser at `http://:5540`. Accept the EULA and start using RedisInsight. RedisInsight also provides a health check endpoint at `http://:5540/api/health/` to monitor the health of the running container. Summary ------ -In this guide, we installed RedisInsight on an EC2 instance running Docker. As a next step, you should now add an ElastiCache Redis Instance and then run the memory analysis. +In this guide, we installed RedisInsight on an AWS EC2 instance running Docker. As a next step, you should add an ElastiCache Redis Instance and then run the memory analysis. diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index b36bc2254f..cc887019be 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -1,13 +1,12 @@ --- -Title: Install RedisInsight on Docker -date: 2024-01-30 10:00:00 -weight: 30 -categories: ["RI"] -path: install/install-redisinsight/install-on-docker/ -altTag: Install RedisInsight on Docker +title: "Install on Docker" +linkTitle: "Install on Docker" +weight: 2 +description: > + How to install RedisInsight on Docker --- This tutorial shows how to install RedisInsight on [Docker](https://www.docker.com/) so you can use RedisInsight in development. -See a separate guide for installing [RedisInsight on AWS]({{< relref "/docs/install/install-on-aws.md" >}}). +See a separate guide for installing [RedisInsight on AWS](/docs/install/install-redisinsight/install-on-aws/). ## Install Docker @@ -17,20 +16,19 @@ The first step is to [install Docker for your operating system](https://docs.doc Next, run the RedisInsight container. -1. If you do not want to persist your RedisInsight data. +1. If you do not want to persist your RedisInsight data: ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, attach docker volume to the `/data` path. +2. If you want to persist your RedisInsight data, attach the Docker volume to the `/data` path: ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data ``` -If the previous command returns a permission error, ensure that the user with `ID = 1000` has necessary permission to access the volume provided (`redisinsight` in the command above). +If the previous command returns a permission error, ensure that the user with `ID = 1000` has the necessary permissions to access the volume provided (`redisinsight` in the command above). - -Then, point your browser to `[http://localhost:5540](http://localhost:5540)`. +Next, point your browser to `[http://localhost:5540](http://localhost:5540)`. RedisInsight also provides a health check endpoint at `http://localhost:5540/api/health/` to monitor the health of the running container. diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index 46c9435bcb..a01c70fa33 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -1,20 +1,19 @@ --- -Title: Install RedisInsight on Kubernetes -date: 2024-01-30 10:00:00 -weight: 40 -categories: ["RI"] -path: install/install-redisinsight/install-on-k8s/ -altTag: Install RedisInsight on Kubernetes +title: "Install on Kubernetes" +linkTitle: "Install on Kubernetes" +weight: 3 +description: > + How to install RedisInsight on Kubernetes --- -In this walkthrough, we will install RedisInsight on [Kubernetes](https://kubernetes.io/). +This tutorial shows how to install RedisInsight on [Kubernetes](https://kubernetes.io/) (K8s). This is an easy way to use RedisInsight with a [Redis Enterprise K8s deployment](https://redis.io/docs/about/redis-enterprise/#:~:text=and%20Multi%2Dcloud-,Redis%20Enterprise%20Software,-Redis%20Enterprise%20Software). ## Create the RedisInsight deployment and service Below is an annotated YAML file that will create a RedisInsight -deployment and a service in a k8s cluster. +deployment and a service in a K8s cluster. -1. Create a new file redisinsight.yaml with the content below +1. Create a new file named `redisinsight.yaml` with the content below. ```yaml # RedisInsight service with name 'redisinsight-service' @@ -69,13 +68,13 @@ spec: emptyDir: {} # node-ephemeral volume https://kubernetes.io/docs/concepts/storage/volumes/#emptydir ``` -2. Create the RedisInsight deployment and service +2. Create the RedisInsight deployment and service: ```sh kubectl apply -f redisinsight.yaml ``` -3. Once the deployment and service are successfully applied and complete, access RedisInsight. This can be accomplished by using the `` of the service we created to reach redisinsight. +3. Once the deployment and service are successfully applied and complete, access RedisInsight. This can be accomplished by listing using the `` of the service we created to reach RedisInsight. ```sh $ kubectl get svc redisinsight-service @@ -255,11 +254,11 @@ spec: kubectl apply -f redisinsight.yaml ``` -{{< note >}} +{{< alert title="Note" >}} If the deployment will be exposed by a service whose name is 'redisinsight', set `RI_APP_HOST` and `RI_APP_PORT` environment variables to override the environment variables created by the service. -{{< /note >}} +{{< /alert >}} -3. Once the deployment has been successfully applied and the deployment complete, access RedisInsight. This can be accomplished by exposing the deployment as a K8s Service or by using port forwarding, as in the example below: +3. Once the deployment has been successfully applied and the deployment is complete, access RedisInsight. This can be accomplished by exposing the deployment as a K8s Service or by using port forwarding, as in the example below: ```sh kubectl port-forward deployment/redisinsight 5540 From 9bd7485ef0e0640e81470114853653ff310311e9 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:34:15 +0100 Subject: [PATCH 33/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index bee566f2ff..8dee4f8391 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -1,7 +1,7 @@ --- title: "Install on AWS EC2" linkTitle: "Install on AWS EC2" -weight: 1 +weight: 2 description: > How to install RedisInsight on AWS EC2 --- From e538373acab4dc0b819c065acc1eb6223f3826b3 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:34:38 +0100 Subject: [PATCH 34/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 8dee4f8391..c5d481dbe5 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -1,7 +1,7 @@ --- title: "Install on AWS EC2" linkTitle: "Install on AWS EC2" -weight: 2 +weight: 3 description: > How to install RedisInsight on AWS EC2 --- From 4c8521d9e7ce7b4fdfcb1c999e5dd086248ce833 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:34:57 +0100 Subject: [PATCH 35/45] Update install-on-k8s.md --- docs/install/install-redisinsight/install-on-k8s.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index a01c70fa33..906e09b4a2 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -1,7 +1,7 @@ --- title: "Install on Kubernetes" linkTitle: "Install on Kubernetes" -weight: 3 +weight: 4 description: > How to install RedisInsight on Kubernetes --- From 552777156aeadb1b6a00bc3943720b8a35acb99a Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:35:21 +0100 Subject: [PATCH 36/45] Update env-variables.md --- docs/install/install-redisinsight/env-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/env-variables.md b/docs/install/install-redisinsight/env-variables.md index e173fab288..d3b81a9dc4 100644 --- a/docs/install/install-redisinsight/env-variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -1,7 +1,7 @@ --- title: "Environment variables" linkTitle: "Environment variables" -weight: 4 +weight: 1 description: > RedisInsight supported environment variables --- From 9d9403c901aa1e42d0c8595396787af5a9351d2a Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:35:56 +0100 Subject: [PATCH 37/45] Update install-on-k8s.md --- docs/install/install-redisinsight/install-on-k8s.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-k8s.md b/docs/install/install-redisinsight/install-on-k8s.md index 906e09b4a2..8a42865fec 100644 --- a/docs/install/install-redisinsight/install-on-k8s.md +++ b/docs/install/install-redisinsight/install-on-k8s.md @@ -74,7 +74,7 @@ spec: kubectl apply -f redisinsight.yaml ``` -3. Once the deployment and service are successfully applied and complete, access RedisInsight. This can be accomplished by listing using the `` of the service we created to reach RedisInsight. +3. Once the deployment and service are successfully applied and complete, access RedisInsight. This can be accomplished by using the `` of the service we created to reach RedisInsight. ```sh $ kubectl get svc redisinsight-service From be00de172b92e1485c57388d307a493f5c2995be Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:42:52 +0100 Subject: [PATCH 38/45] Update env-variables.md --- docs/install/install-redisinsight/env-variables.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/install/install-redisinsight/env-variables.md b/docs/install/install-redisinsight/env-variables.md index d3b81a9dc4..be030a0298 100644 --- a/docs/install/install-redisinsight/env-variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -9,11 +9,11 @@ You can configure RedisInsight with the following environment variables. | Variable | Purpose | Default | Additional info | | --- | --- | --- | --- | -| RI_APP_PORT | The port that RedisInsight listens on |
  • docker: 5540
  • desktop: 5530
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| -| RI_APP_HOST | The host that RedisInsight connects to |
  • docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| +| RI_APP_PORT | The port that RedisInsight listens on |
  • Docker: 5540
  • desktop: 5530
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| +| RI_APP_HOST | The host that RedisInsight connects to |
  • Docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| | RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| | RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| -| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows you to store sensitive information encrypted using the specified encryption key.
Note: The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | +| RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Available only for Docker.
Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows you to store sensitive information encrypted using the specified encryption key.
Note: The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | | RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from highest to lowest:
  • error
  • warn
  • info
  • http
  • verbose
  • debug
  • silly
| -| RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
| +| RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • Docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
| | RI_STDOUT_LOGGER | Log to STDOUT | `true` | | From b34d426c82aefe83ed3781f4321f80c5762f0eab Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:46:01 +0100 Subject: [PATCH 39/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index cc887019be..0278a7d863 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -14,7 +14,7 @@ The first step is to [install Docker for your operating system](https://docs.doc ## Run RedisInsight Docker image -Next, run the RedisInsight container. +You can start RedisInsight using one of the options described below. 1. If you do not want to persist your RedisInsight data: From 5b2abb5c9e3523d755405ed7ecbd6f558db76b48 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:47:30 +0100 Subject: [PATCH 40/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index c5d481dbe5..56668ff184 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -67,7 +67,7 @@ Next, install Docker on the EC2 instance. Run the following commands: Step 5: Run RedisInsight in the Docker container ------- -Finally, install RedisInsight. Run the following command to download and run the RedisInsight Docker image. +Finally, install RedisInsight using one of the options described below. 1. If you do not want to persist your RedisInsight data: From 8391ec8356974ff74021f1144bf0d83685d41798 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:47:52 +0100 Subject: [PATCH 41/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index 0278a7d863..884a2b3b55 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -14,7 +14,7 @@ The first step is to [install Docker for your operating system](https://docs.doc ## Run RedisInsight Docker image -You can start RedisInsight using one of the options described below. +You can install RedisInsight using one of the options described below. 1. If you do not want to persist your RedisInsight data: From bad1fb742d712c01e96a2e3e1fe67e87d009cb20 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:49:55 +0100 Subject: [PATCH 42/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index 884a2b3b55..48ff1e2abf 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -21,7 +21,7 @@ You can install RedisInsight using one of the options described below. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, attach the Docker volume to the `/data` path: +2. If you want to persist your RedisInsight data, first attach the Docker volume to the `/data` path and then run the following command: ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data From 8ce0001b3a2126532fe14b2b902bb1318f185ea6 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:50:11 +0100 Subject: [PATCH 43/45] Update install-on-aws.md --- docs/install/install-redisinsight/install-on-aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-aws.md b/docs/install/install-redisinsight/install-on-aws.md index 56668ff184..93fe59299e 100644 --- a/docs/install/install-redisinsight/install-on-aws.md +++ b/docs/install/install-redisinsight/install-on-aws.md @@ -74,7 +74,7 @@ Finally, install RedisInsight using one of the options described below. ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest ``` -2. If you want to persist your RedisInsight data, attach the Docker volume to the `/data` path. +2. If you want to persist your RedisInsight data, first attach the Docker volume to the `/data` path and then run the following command: ```bash docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redisinsight:/data From 4b23f19491bbd61f43c3ea57e2d688059c0d0ec0 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 31 Jan 2024 14:51:33 +0100 Subject: [PATCH 44/45] Update install-on-docker.md --- docs/install/install-redisinsight/install-on-docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/install-redisinsight/install-on-docker.md b/docs/install/install-redisinsight/install-on-docker.md index 48ff1e2abf..c73a15ea97 100644 --- a/docs/install/install-redisinsight/install-on-docker.md +++ b/docs/install/install-redisinsight/install-on-docker.md @@ -29,6 +29,6 @@ docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest -v redi If the previous command returns a permission error, ensure that the user with `ID = 1000` has the necessary permissions to access the volume provided (`redisinsight` in the command above). -Next, point your browser to `[http://localhost:5540](http://localhost:5540)`. +Next, point your browser to `http://localhost:5540`. RedisInsight also provides a health check endpoint at `http://localhost:5540/api/health/` to monitor the health of the running container. From 9563f339323064a7f80c2da5c5c918743e69caf8 Mon Sep 17 00:00:00 2001 From: ViktarStarastsenka <99594890+ViktarStarastsenka@users.noreply.github.com> Date: Wed, 31 Jan 2024 14:51:57 +0100 Subject: [PATCH 45/45] Update env-variables.md --- docs/install/install-redisinsight/env-variables.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/install/install-redisinsight/env-variables.md b/docs/install/install-redisinsight/env-variables.md index be030a0298..dbf115bcff 100644 --- a/docs/install/install-redisinsight/env-variables.md +++ b/docs/install/install-redisinsight/env-variables.md @@ -11,8 +11,8 @@ You can configure RedisInsight with the following environment variables. | --- | --- | --- | --- | | RI_APP_PORT | The port that RedisInsight listens on |
  • Docker: 5540
  • desktop: 5530
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| | RI_APP_HOST | The host that RedisInsight connects to |
  • Docker: 0.0.0.0
  • desktop: 127.0.0.1
| See [Express Documentation](https://expressjs.com/en/api.html#app.listen)| -| RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). May be a path to a file or a string in PEM format.| -| RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3)| +| RI_SERVER_TLS_KEY | Private key for HTTPS | n/a | Private key in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). Can be a path to a file or a string in PEM format.| +| RI_SERVER_TLS_CERT | Certificate for supplied private key | n/a | Public certificate in [PEM format](https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/#ftoc-heading-3). Can be a path to a file or a string in PEM format.| | RI_ENCRYPTION_KEY | Key to encrypt data with | n/a | Available only for Docker.
Redisinsight stores sensitive information (database passwords, Workbench history, etc.) locally (using [sqlite3](https://github.com/TryGhost/node-sqlite3)). This variable allows you to store sensitive information encrypted using the specified encryption key.
Note: The same encryption key should be provided for subsequent `docker run` commands with the same volume attached to decrypt the information. | | RI_LOG_LEVEL | Configures the log level of the application. | `info` | Supported logging levels are prioritized from highest to lowest:
  • error
  • warn
  • info
  • http
  • verbose
  • debug
  • silly
| | RI_FILES_LOGGER | Log to file | `true` | By default, you can find log files in the following folders:
  • Docker: `/data/logs`
  • desktop: `/.refisinsight-app/logs`
|