oblakstudio / redisinsight Goto Github PK
View Code? Open in Web Editor NEWRedisInsight v2 - Better GUI for Redis (amd64/arm64)
Home Page: https://hub.docker.com/r/oblakstudio/redisinsight
License: Other
RedisInsight v2 - Better GUI for Redis (amd64/arm64)
Home Page: https://hub.docker.com/r/oblakstudio/redisinsight
License: Other
I am using Docker Compose to setup Redis + RedisInsight , to build a simple test space.
Is it possible to add database connections in RedisInsight by environment variables in compose.yml ?
Hello
I have two 2.5.0 instances and I am not able to connect to both of them. My command is:
docker run --rm -d -p 8001:5000 --name redisinsight --cap-add=IPC_LOCK oblakstudio/redisinsight:latest
I rollback to 2.4.4.
Regards
Piotr
When starting the first time I'm not able to select Encrypt sensitive information. Do I have to do any additional steps to make it work. Found no information in the docs. Deployed it in kubernetes with this config.
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: redisinsight-pv-claim
namespace: namespace
labels:
app: redisinsight
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: redisinsight
namespace: namespace
labels:
app: redisinsight
spec:
replicas: 1
selector:
matchLabels:
app: redisinsight
template:
metadata:
labels:
app: redisinsight
spec:
containers:
- name: redisinsight
image: oblakstudio/redisinsight:latest
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 0
ports:
- containerPort: 5000
protocol: TCP
---
Hello, I have problem to persist connection data. Looks like when pod of redisinsight restarts, it lose all connections to redis databases.
This is configuration for pod
# 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
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
fsGroupChangePolicy: "OnRootMismatch"
containers:
- name: redisinsight #Container name (DNS_LABEL, unique)
image: oblakstudio/redisinsight:3.0 #repo/image
imagePullPolicy: IfNotPresent #Always pull image
volumeMounts:
- name: db #Pod volumes to mount into the container's filesystem. Cannot be updated.
mountPath: "/data"
securityContext:
privileged: false
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
capabilities:
drop:
- ALL
Thank you in advance!
Thank you so much for taking the time to build and maintain this container.
I read that the listen port is fixed to 5000; however, looking at the codebase 5000 is the fallback port if process.env.API_PORT
is not available.
I was able to successful get the server to directly listen on various ports by adding an env variable API_PORT
set to the desired port number.
When deploying this Docker image in a Kubernetes cluster, I've had to disable key security features, namely running as a non-root user and disallowing privilege escalation. To improve security posture, I propose these enhancements:
I often use the following securityContext
in my Kubernetes deployments or StatefulSets:
securityContext:
runAsUser: 1001
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
Implementing these changes will make it easier for users to adhere to security best practices without requiring manual adjustments.
This might be user error, but I have troubleshooted quiet a bit first.
I can't get the server to start on port 5000, I get a connection refused error as if there isn't any thing running. I can run redisinsight v1 fine so I know my docker/OS is working.
Below you can see both containers running and that I can sucessfully request RedisInsight v1
[ec2-user@ip-10-17-1-173 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ecaceda24e8 oblakstudio/redisinsight:latest "./docker-entry.sh n…" 21 minutes ago Up 11 minutes 0.0.0.0:32768->5000/tcp, :::32768->5000/tcp redisinsight_5000
4f4b25584558 redislabs/redisinsight:latest "bash ./docker-entry…" 4 hours ago Up 3 minutes 0.0.0.0:8001->8001/tcp, :::8001->8001/tcp keen_allen
[ec2-user@ip-10-17-1-173 ~]$ curl localhost:5000
curl: (7) Failed to connect to localhost port 5000 after 0 ms: Couldn't connect to server
[ec2-user@ip-10-17-1-173 ~]$ curl localhost:8001
<!doctype html><html lang="en"><head><title>RedisInsight</title><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel="icon" href="/static/images/favicon.ico" type="image/x-icon"><script>var RIPROXYPATH = "";
window.__RIPROXYPATH__ = RIPROXYPATH;</script><script defer="defer" src="/static/app/bundle.e7efa0031208bf65925b.js"></script></head><body><div id="app"></div><script>// Stub for calls to gtag(). If GA is enabled, this function will
// be replaced with the actual gtag() function.
window.gtag = function () {}</script></body></html>[ec2-user@ip-10-17-1-173 ~]$ ^C
I've checked the container logs and from all I can see everything is working correctly and it shows the server is running on localhost:5000
[NestWinston] Info 9/27/2023, 10:16:15 AM [GuidesProvider] Checking for updates... - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [TutorialsProvider] Checking for updates... - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [ContentProvider] Checking for updates... - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [FeaturesConfigService] Trying to sync features config... - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [LocalFeaturesConfigRepository] Getting features config entity - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [ServerService] Checking server info. - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [FeaturesConfigService] Fetching remote config... - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [FeaturesConfigService] Fetching remote config... - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [ServerService] First application launch. - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [ServerService] Application started. - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [LocalFeaturesConfigRepository] Getting features config entity - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [NestApplication] Nest application successfully started - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [bootstrap] Server is running on http(s)://localhost:5000 - {"value":{"message":"Server is running on http(s)://localhost:5000","context":"bootstrap"},"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisearch] Successfully updated redisearch commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisjson] Successfully updated redisjson commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisai] Successfully updated redisai commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisearch] Successfully updated redisearch commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisgears] Successfully updated redisgears commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisbloom] Successfully updated redisbloom commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisgraph] Successfully updated redisgraph commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [FeaturesConfigService] Successfully updated stored remote config - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [FeaturesConfigService] Recalculating features flags - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisgears] Successfully updated redisgears commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redistimeseries] Successfully updated redistimeseries commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redistimeseries] Successfully updated redistimeseries commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:triggers_and_functions] Successfully updated triggers_and_functions commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisgears] Successfully updated redisgears commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisjson] Successfully updated redisjson commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisai] Successfully updated redisai commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisgraph] Successfully updated redisgraph commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisbloom] Successfully updated redisbloom commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisai] Successfully updated redisai commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:triggers_and_functions] Successfully updated triggers_and_functions commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisearch] Successfully updated redisearch commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:triggers_and_functions] Successfully updated triggers_and_functions commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisjson] Successfully updated redisjson commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisgraph] Successfully updated redisgraph commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:main] Successfully updated main commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:main] Successfully updated main commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [LocalFeaturesConfigRepository] Getting features config entity - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redisbloom] Successfully updated redisbloom commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:redistimeseries] Successfully updated redistimeseries commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [CommandsJsonProvider:main] Successfully updated main commands - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [LocalFeaturesConfigRepository] Getting features config entity - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [SettingsService] Getting application settings. - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [SettingsService] Succeed to get application settings. - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [FeaturesConfigService] Features flags recalculated. Updated: 3 deleted: 0 - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [FeaturesConfigService] Getting features list - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [LocalFeaturesConfigRepository] Getting features config entity - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [SettingsService] Getting application settings. - {"stack":[]}
[NestWinston] Info 9/27/2023, 10:16:15 AM [SettingsService] Succeed to get application settings. - {"stack":[]}
Issue Description:
I am currently using a Docker Compose file to access AWS Elasticache, and I would like to migrate to RedisInsight version 2.X using the 'oblakstudio/redisinsight:latest' Docker image. However, I am encountering issues with this setup. I am seeking assistance on how to properly configure a Docker Compose file for 'oblakstudio/redisinsight:latest' or any documentation that can guide me through the process.
Docker Compose File (existing setup):
version: "3.7"
services:
nginx:
build:
context: .
dockerfile: Dockerfile
depends_on:
- redisinsight
ports:
- "8080:80"
environment:
- FORWARD_HOST=redisinsight
- FORWARD_PORT=8001
- BASIC_USERNAME=app
- BASIC_PASSWORD=dddX3ddPil84J
networks:
- mynetwork
redisinsight:
image: redislabs/redisinsight:latest
expose:
- "8001"
ports:
- "8001:8001"
environment:
- RITRUSTEDORIGINS=http://localhost:8001 # Trust the proxy origin
- RIPROXYENABLE=t
- RILOGLEVEL=DEBUG
volumes:
- redisinsight:/db
networks:
- mynetwork
networks:
mynetwork:
volumes:
redisinsight:
I would like to transition to using the 'oblakstudio/redisinsight:latest' Docker image to take advantage of RedisInsight version 2.X. If anyone has experience with this image or can provide guidance on how to configure a Docker Compose file for it, I would greatly appreciate it. Additionally, if there are any specific configurations or environment variables required to make this work, please share those details as well.
Thank you for your assistance!
Hello,
Well first thank you for maintaining this image.
I am having some problems with version 2.5
, this command specifically just hangs out, and the server does not start without any logs.
docker run -it -e API_PORT=8001 oblakstudio/redisinsight:2.5
Regards.
Setting environment variable RIPROXYENABLE = t and RIPROXYPATH = /redisinsight does not work. Redisinsight is still working on root path.
Hello,
When the container is lowered or raised, the stored database information is initialized.
Where is the database information stored?
Hello
I noticed we recently change default port from 5000 to 5540. All documentation is referring old value.
Regards
Piotr
when I run docker run -d --name redisinsight -p 5540 oblakstudio/redisinsight:latest
I'm getting 139 error code, does it support arm64?
55ba0e4bc57c oblakstudio/redisinsight:latest "./docker-entry.sh n…" 5 seconds ago Exited (139) 3 seconds ago
Hello
I really like your project. Is there chance to update with upstream?
Regards
Piotr
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.