This guide covers using Azure Entra ID authentication with RedisInsight when running in Docker.
Prerequisites: Your Azure tenant must have admin consent granted for RedisInsight. See Azure Setup Guide for initial setup.
Azure Entra ID authentication in RedisInsight uses a public client application which only supports localhost redirect URIs. This means:
- ✅ Access via
http://localhost:PORT- works - ❌ Access via
http://127.0.0.1:PORT- does not work - ❌ Access via
http://your-server-ip:PORT- does not work - ❌ Access via custom domain - does not work
If you need to access RedisInsight from a remote machine, use SSH port forwarding:
ssh -L 5540:localhost:5540 user@remote-server
# Then access http://localhost:5540 on your local machineAzure Entra ID authentication is supported on the following localhost ports:
| Port | URL | Use Case |
|---|---|---|
| 5540 | http://localhost:5540 |
Default RedisInsight port |
| 8000 | http://localhost:8000 |
Alternative port |
| 8001 | http://localhost:8001 |
Alternative port |
| 8002 | http://localhost:8002 |
Alternative port |
| 8003 | http://localhost:8003 |
Alternative port |
| 8004 | http://localhost:8004 |
Alternative port |
| 8005 | http://localhost:8005 |
Alternative port |
When using a non-default port, set RI_EXTERNAL_URL to match:
docker run -p 8000:5540 -e RI_EXTERNAL_URL=http://localhost:8000 redis/redisinsight:latestNote: Azure Entra ID authentication requires one of the supported localhost ports. Custom domains are not currently supported.
If you run RedisInsight on the default port, Azure authentication works out of the box:
docker run -d -p 5540:5540 redis/redisinsight:latestAccess at http://localhost:5540 and use "Sign in with Microsoft" to authenticate.
When mapping to a different external port, set RI_EXTERNAL_URL so OAuth callbacks work correctly:
docker run -d \
-p 8000:5540 \
-e RI_EXTERNAL_URL=http://localhost:8000 \
redis/redisinsight:latestAccess at http://localhost:8000.
version: '3'
services:
redisinsight:
image: redis/redisinsight:latest
ports:
- '8000:5540'
environment:
- RI_EXTERNAL_URL=http://localhost:8000
volumes:
- redisinsight-data:/data
volumes:
redisinsight-data:When running behind a reverse proxy, RedisInsight will work normally for general usage. However, Azure Entra ID authentication requires accessing RedisInsight via one of the supported localhost ports.
server {
listen 443 ssl;
server_name redisinsight.example.com;
location / {
proxy_pass http://localhost:5540;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Note: For Azure Entra ID authentication, access RedisInsight directly via
http://localhost:5540instead of the reverse proxy URL.
| Variable | Description | Default |
|---|---|---|
RI_EXTERNAL_URL |
External URL for OAuth callbacks (e.g., http://localhost:8000) |
None (uses localhost:{port}) |
RI_APP_PORT |
Internal port the application listens on | 5540 |
RI_APP_HOST |
Host address to bind to | 0.0.0.0 |
When deploying to Kubernetes, use one of the supported ports and set RI_EXTERNAL_URL:
env:
- name: RI_EXTERNAL_URL
value: 'http://localhost:8000'