October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Self-Host Redis Insight on a VPS with Docker and HTTPS

A practical guide to running Redis Insight on a VPS with Docker, persistent settings, HTTPS reverse proxy authentication, encryption-key management, monitoring, backups, and troubleshooting.
Length13 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The supported way to self-host Redis Insight is to run Redis’s official redis/redisinsight:latest Docker image on a Linux VPS. Publish container port 5540, mount a persistent volume at /data, keep that port private, and place an authenticated HTTPS reverse proxy in front of it. A persistent volume preserves connections, Workbench history, and settings when the container is recreated; a stable RI_ENCRYPTION_KEY protects sensitive values stored in that data.

The procedure below covers a direct installation, NGINX TLS termination, health monitoring, upgrades, backups, subpath behavior, and the failure modes most likely to affect a VPS deployment.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you are deploying

Redis Insight is a web application for managing and inspecting Redis databases. In a VPS deployment, Docker runs the application in a container while the VPS supplies the operating system, network, firewall, storage, and backup destination. The official image listens on port 5540 by default. Redis documents compatibility with Redis Open Source, Redis Stack, Redis Enterprise Software, Redis Enterprise Cloud, and Amazon ElastiCache.

The application keeps local state in SQLite. That state includes connection information, database passwords, and Workbench history. The state directory inside the container is /data. Without a volume mounted there, removing and recreating the container removes the local state with it. A named Docker volume is therefore part of a production installation, not an optional convenience.

The image also exposes a health endpoint at http://localhost:5540/api/health/. The GitHub project documents an API reference at /api/docs and plugin support. Both endpoints should be protected by the same access controls as the main interface when they are reachable from a network.

Prerequisites and VPS planning

Host operating system and Docker

Use a supported Linux VPS and install Docker by following the current instructions for that distribution. The Docker daemon must be able to pull the Redis Insight image and start containers. Keep the host patched, and give your administrative account a controlled way to use Docker; membership in the Docker group is effectively privileged access on most Linux systems.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Network and name

Decide how you will reach the service before opening a firewall port. A dedicated hostname such as insight.example.net makes HTTPS certificate management and proxy rules simpler than putting the application under a miscellaneous URL path. Point DNS at the VPS only after the host firewall and reverse proxy are ready.

Storage, backups, and capacity

Redis does not publish a single universal CPU or memory minimum for every Redis Insight workload. Select a VPS with enough memory for the operating system, Docker, Redis Insight, the proxy, and any monitoring agents you run alongside them. Storage should cover the operating system, Docker layers, the /data volume, and at least one local backup copy. Compare VPS options by region, CPU and RAM, storage type, backup service, IPv4 and IPv6 support, firewall controls, and bandwidth. A small administrative installation has different needs from a team that keeps many connection definitions and large Workbench histories.

Install Redis Insight on the VPS

1. Provision and update the host

Create the Linux VPS in the region closest to the people who will use Redis Insight or to the Redis services it will reach. Apply the distribution’s security updates, set the correct time zone, and verify that outbound HTTPS traffic is allowed so Docker can download images and the application can reach managed Redis services when required.

2. Install Docker

Install Docker Engine and its command-line client using the host distribution’s current package instructions. Confirm that the daemon is running:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
docker version

The command should return both client and server information. If it returns only client information or a socket-permission error, fix the daemon or account permissions before continuing.

3. Restrict port 5540

Do not expose the application port to the public internet when a reverse proxy is available. Allow SSH from your administration addresses, allow ports 80 and 443 only as needed for certificate issuance and HTTPS, and keep 5540 closed at the VPS firewall. Binding Docker to loopback makes that policy explicit.

4. Create the persistent volume

Create a named volume that will remain independent of the container lifecycle:

docker volume create redisinsight

Docker stores this volume on the VPS. Treat it as application data: include it in backups and do not delete it while removing an old container.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Start the official image

For a proxy on the same VPS, bind port 5540 to loopback and mount the volume at /data:

docker run -d --name redisinsight --restart unless-stopped -p 127.0.0.1:5540:5540 -v redisinsight:/data redis/redisinsight:latest

This is the persistent form of Redis’s documented command. If a private VPN or another host must connect directly, bind the port to the VPS’s private interface instead of its public interface and enforce an allow-list in the firewall. A public 0.0.0.0:5540 binding should be an intentional exception, not the default.

6. Confirm the container and application

Check that Docker reports the container as running and inspect startup output:

docker ps --filter name=redisinsight
docker logs --tail 100 redisinsight

From the VPS itself, request the health endpoint:

curl http://localhost:5540/api/health/

A successful response confirms that the application is answering locally. If you cannot reach the web interface through the proxy later, first establish that this local check still works.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

7. Test persistence before adding production data

Open the interface through the local proxy or an SSH tunnel, add a harmless test connection, stop the container, and start it again. The test connection should remain. This verifies that the volume is mounted at the correct path rather than merely proving that the first container started.

Put HTTPS and authentication in front

The safest general arrangement is Redis Insight bound to loopback, with NGINX or another reverse proxy listening on HTTPS. The proxy terminates TLS and applies authentication before forwarding requests to http://127.0.0.1:5540. Obtain and renew a certificate using your normal certificate-management process; Redis Insight does not need to be directly exposed for that process.

NGINX location example

The following illustrates the important proxy behavior. Replace the example hostname and certificate paths with values for your VPS, and create the password file using your operating system’s approved credential-management method:

server {
    listen 443 ssl;
    server_name insight.example.net;

    ssl_certificate /etc/ssl/insight/fullchain.pem;
    ssl_certificate_key /etc/ssl/insight/privkey.pem;

    location / {
        auth_basic RedisInsight;
        auth_basic_user_file /etc/nginx/.htpasswd-redisinsight;
        proxy_pass http://127.0.0.1:5540;
        proxy_read_timeout 60s;
        proxy_send_timeout 60s;
    }
}

Redis specifically documents that proxy read and request timeouts should be above 30 seconds because some requests run for longer. A 60-second value is an example starting point; increase it if your workload legitimately takes longer, while keeping authentication enabled. Validate the NGINX configuration and reload it without stopping the container.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why authentication belongs at the proxy

A VPS firewall limits which networks can connect, but it does not provide an application login. Basic authentication at the proxy is one documented option; an equivalent access-control layer can be used if it enforces authentication before every Redis Insight route. Use a long, unique credential, protect the password file, and avoid placing credentials in a publicly readable configuration repository.

Choose a URL layout carefully

Dedicated host or root path

A dedicated hostname or a root deployment such as https://insight.example.net/ avoids path-rewriting problems. The proxy passes the request path through unchanged, so links and API calls use the path Redis Insight expects.

Static subpath

If your organization requires a URL such as https://example.net/redisinsight/, set RI_PROXY_PATH to the chosen prefix before starting the container. Redis states that hosting behind a prefix with path rewriting is unsupported. Once a static subpath is configured, the default endpoint without that prefix will not work. Do not configure a rewritten proxy prefix and then troubleshoot the resulting 404s as if they were a Docker failure.

When using a subpath, make the proxy pass the configured prefix consistently and test the interface, API calls, static assets, and the health route through the authenticated URL. If you can choose the architecture, a dedicated hostname is usually easier to operate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Preserve data and protect encryption keys

Volume ownership

Redis documents that the user with ID 1000 must have access to the mounted volume. A permission error during startup or while saving settings usually means the host-side volume or bind mount is owned by an incompatible user. With a named volume, inspect the mount and correct ownership from a temporary container or an administrative maintenance procedure; do not solve the problem by making the entire VPS filesystem world-writable.

Set a stable encryption key

Redis Insight stores sensitive information locally, including database passwords and Workbench history. Set RI_ENCRYPTION_KEY explicitly and retain exactly the same key whenever you start Redis Insight with the same /data volume. Store the key in a secret manager or a root-readable environment file, not in shell history or a public compose file. Include the key in your disaster-recovery records; a data backup without the matching key may not be useful for recovering encrypted values.

To add the key, recreate the container with the same volume and an environment option. The key itself is intentionally omitted from examples:

docker run -d --name redisinsight --restart unless-stopped -p 127.0.0.1:5540:5540 -v redisinsight:/data -e RI_ENCRYPTION_KEY='use-a-long-random-secret-kept-outside-the-command-history' redis/redisinsight:latest

If the container already exists, Docker does not change its environment when you edit a file; stop and recreate it using the identical volume, proxy binding, and key.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Back up the volume

For a consistent file-level backup, stop Redis Insight briefly, archive the volume, then start the container again. For example, after creating /srv/redisinsight-backup with suitable permissions:

docker stop redisinsight
docker run --rm -v redisinsight:/data -v /srv/redisinsight-backup:/backup alpine:latest tar czf /backup/redisinsight-data.tgz -C /data .
docker start redisinsight

Copy the archive off the VPS and test that you can read it. Keep more than one generation and protect the backup location because it contains sensitive connection metadata. A backup plan should also cover the encryption key and the proxy’s authentication and TLS configuration.

Useful configuration controls

Redis documents environment variables for application networking, TLS, logging, database preconfiguration, and database-management controls. The most relevant controls for a VPS deployment are:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Control Purpose Operational guidance
RI_APP_PORT Changes the application port; Docker’s default is 5540. Keep the container and proxy ports aligned, or map the chosen container port explicitly.
RI_APP_HOST Sets the listening address; Docker’s default is 0.0.0.0. Use Docker port binding and the host firewall to control exposure. Changing the container listen address without changing the published mapping can make the service unreachable.
RI_PROXY_PATH Sets a static URL prefix. Use only when the proxy presents the same prefix; path-rewriting behind a prefix is unsupported.
RI_ENCRYPTION_KEY Protects sensitive locally stored information. Keep the same value for the lifetime of a volume and back it up separately from the data archive.
TLS key and certificate variables Allow TLS-related configuration where the image’s documented variables are used. For a typical VPS, terminate TLS at the reverse proxy so certificate renewal and public exposure stay in one layer.
Logging controls Adjust application logging. Send logs to the host’s normal retention system and avoid retaining secrets in verbose output.
Database preconfiguration Supplies initial connections through environment variables or a JSON export-compatible file. Apply changes, then restart the container; preconfiguration is not a live reload mechanism.
Database-management controls Adjust which management features are available. Document the selected policy so an upgrade does not silently change the intended administrative workflow.

Preconfigure Redis connections

For a team deployment, you can supply connection definitions through the documented environment-variable mechanism or a JSON file compatible with an exported configuration. This is useful when every operator should start with the same endpoints or when a container is rebuilt automatically. Treat the file like a secret-bearing configuration artifact: database passwords and other sensitive fields may be included.

Mount the file read-only where possible, use the exact schema expected by the Redis Insight release, and restart the container after changing it. Existing user changes and preconfigured definitions should be tested in a staging volume before replacing a production container. If a connection does not appear after editing the file, verify that the file is mounted at the path the image expects and that the container was actually restarted.

Upgrade without losing settings

The latest tag follows the current official image. Before an upgrade, export or archive the redisinsight volume and record the current environment options, proxy configuration, and encryption key. Then pull the new image:

docker pull redis/redisinsight:latest

Recreate the container with the same name, volume, port mapping, proxy-path setting, and encryption key. A typical sequence is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
docker stop redisinsight
docker rm redisinsight
docker run -d --name redisinsight --restart unless-stopped -p 127.0.0.1:5540:5540 -v redisinsight:/data -e RI_ENCRYPTION_KEY='your-retained-key' redis/redisinsight:latest

Verify the health endpoint, sign in through the proxy, and open a saved connection before declaring the upgrade complete. If the new image has a problem, the data volume remains available for a rollback procedure; keep the previous image reference and restore the proxy and environment settings exactly.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Health checks and operational monitoring

Poll http://localhost:5540/api/health/ from the VPS or from an authenticated monitoring path through the proxy. Monitoring the loopback endpoint isolates application health from DNS, certificates, and firewall configuration. Monitoring through the proxy additionally verifies that TLS and authentication routing still work.

Alert on a failed health response, repeated container restarts, a full filesystem, and inability to write the /data volume. Review Docker logs when a check fails. Do not expose the health endpoint anonymously just to make an external monitor convenient; use an allow-listed monitoring network or an authenticated route.

Best Value
Docker Container Linux Devops Programming Coding T-Shirt
  • Docker, Docker Swarm, Docker Compose, Programmer, Developer, Coding, Programming, Software Engineer, Code, DevOps, Deploy, Deployment, Kubernetes, Salt, Puppet, Chef, Terraform, Container, AWS, Azure, Cloud, Geek, Funny, Computer, Software, Tech, IT
  • Integration, Scrum, Compile, Compilation, Science, Bug, Debug, Python, Linux, Java, Javascript, Scala, Dotnet, Kotlin
  • Lightweight, Classic fit, Double-needle sleeve and bottom hem

Deployment choices compared

Pattern Public attack surface TLS and authentication Long-running requests Operations and recovery
Direct public port 5540 Highest: the application port is internet-facing. You must secure the application and transport at that endpoint; firewall rules are easy to misconfigure. No proxy timeout layer, but clients interact directly with the application. Simplest initial command, weakest separation of concerns, and less room for centralized access logging.
Reverse proxy on HTTPS Only the proxy is public; 5540 stays private. Centralizes TLS termination and can enforce basic authentication or an equivalent control. Set read and request timeouts above 30 seconds, then tune them for your workload. One extra component to patch, but certificates, logs, firewall rules, and access policy are easier to manage in one place.
Private VPN or tunnel No public Redis Insight port when the tunnel is private. Access is controlled by the private network; add application authentication where appropriate. The tunnel and any intermediate proxy must allow Redis Insight’s longer requests. More client and routing work, but a strong fit for administrator-only access and reduced internet exposure.

For most single-VPS installations, the reverse-proxy pattern is the practical default. Choose a private VPN or tunnel when the user population is small and managed, and use direct port publishing only when you have a specific network-control reason and understand the resulting exposure.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Security checklist

  • Bind Docker’s 5540 mapping to loopback or a private interface.
  • Allow public HTTPS only at the reverse proxy and restrict administrative SSH access.
  • Terminate TLS before forwarding to Redis Insight.
  • Require proxy authentication or an equivalent access-control layer.
  • Set and protect a stable RI_ENCRYPTION_KEY.
  • Back up the /data volume, the encryption key, and proxy credentials and certificate configuration.
  • Keep Docker, the host operating system, Redis Insight, and the proxy updated.
  • Monitor the health endpoint without making it anonymously public.
  • Review logs and disk usage so a full filesystem does not prevent SQLite writes.
  • Test restoration on a separate volume before you need it.

Compatibility, API, and licensing notes

The verified Docker image is intended for Redis Open Source, Redis Stack, Redis Enterprise Software, Redis Enterprise Cloud, and Amazon ElastiCache connections. The project documentation also describes plugin support and a Docker API at /api/docs. Keep those interfaces behind the same proxy controls as the main application.

The project repository documents the Server Side Public License (SSPL). If you modify Redis Insight, distribute it, or offer it as part of a hosted service, review the license terms with the person responsible for compliance. Running the unmodified official image for your own administration is a different question from redistributing a modified service.

Troubleshooting common failures

Docker reports a permission error for /data

Check the volume mount and ownership. Redis requires the user with ID 1000 to have access. Correct the volume from a maintenance container or host procedure, then restart Redis Insight. Avoid deleting the volume while diagnosing permissions; deletion destroys the settings you are trying to recover.

The browser cannot connect, but the container is running

Run curl http://localhost:5540/api/health/ on the VPS. If it fails, inspect docker logs redisinsight, the port mapping, and the container listen address. If it succeeds, inspect the VPS firewall, DNS record, TLS certificate, proxy upstream address, and NGINX error log.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

NGINX returns 502 Bad Gateway

Confirm that the proxy points to the same address and port Docker publishes. A container bound to 127.0.0.1:5540 is reachable from a proxy on the same host, but not from a proxy on another machine. Test the upstream locally and verify that the container has not restarted repeatedly.

Requests fail after about 30 seconds

Increase the proxy read and request timeouts above 30 seconds. Redis documents that some requests are long-running. Change the proxy configuration, validate it, reload NGINX, and retry the same operation before changing Docker settings.

The application works at / but not under a prefix

Check whether RI_PROXY_PATH is set and whether the proxy is rewriting paths. Prefix path-rewriting is unsupported. Use a dedicated hostname or pass the exact static prefix consistently, then recreate the container so the setting is applied.

Connections or Workbench history disappeared after an upgrade

Inspect the recreated container’s volume list. It must mount the existing redisinsight volume at /data. A new anonymous volume, a misspelled volume name, or a bind mount pointing at an empty directory produces a clean interface that looks like data loss. Stop the container, restore the correct mount, and verify the retained encryption key.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Saved passwords cannot be decrypted

Confirm that the container is using the same RI_ENCRYPTION_KEY that was used when the data was written. Check the secret file and container environment without printing the value into shared logs. If the original key is unavailable, restore both the data archive and its corresponding key from the same backup set.

Preconfigured databases do not appear

Verify the JSON structure or environment settings against the release documentation, confirm that the file is mounted inside the container, and restart Redis Insight. The documented preconfiguration mechanism applies changes after a restart rather than continuously watching the file.

Recommended operating pattern

For an administrator-facing VPS, run the official image with a named redisinsight volume, bind 5540 to loopback, set a durable encryption key, and expose only an authenticated HTTPS reverse proxy. Back up the volume and key together, monitor the local health endpoint, and rehearse a container recreation with the same settings. This arrangement keeps the public attack surface small while preserving the connection data and operational history that make Redis Insight useful over time.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.