# Redis Service

URL: /docs/services/redis

Source: https://github.com/easypanel-io/monorepo/blob/main/apps/website/content/docs/services/redis.mdx

Run and operate a persistent, password-protected Redis service.



The Redis service runs the official Redis Docker image with persistent storage,
a generated password, connection URLs, optional browser administration tools,
and resource controls.

## Create a Redis service [#create-a-redis-service]

1. Open a project and select **New Service**.
2. Select **Redis** and enter a service name.
3. Optionally set the password and Docker image.
4. Create the service and wait for it to start.
5. Open **Credentials** and copy the internal connection URL into the
   application that needs Redis.

When the password is omitted, Easypanel generates one. Leaving the image empty
uses Easypanel's default official Redis image.

## Overview [#overview]

The overview provides start, stop, logs, notes, and destroy actions. Its Shell
menu can open Bash or `redis-cli` using the service password.

The page also shows runtime metrics, recent logs, detected errors, and two
optional administration tools:

* **Redis Commander** provides a Redis-focused browser interface.
* **DbGate** provides a general database browser.

Enable a tool only when needed and disable it afterward. Easypanel gives each
tool a generated access token and a dedicated domain. Redis Commander may take
up to two minutes to start after it is enabled.

## Credentials [#credentials]

The Credentials tab shows:

* the fixed user `default` and service password;
* internal host and port `6379`;
* internal connection URL;
* external host, port, and connection URL when the service is exposed.

Services in the same Easypanel project should use the internal connection URL.
The internal host is derived from the project and service names and is
reachable on the private service network.

Select **Edit** to change the password. Easypanel redeploys Redis and connected
Redis Commander or DbGate tools. Update every application that uses the old
password.

<Callout type="warn">
  A Redis connection URL contains the password. Store it as an environment
  variable and do not include it in source control or logs.
</Callout>

## Expose [#expose]

Redis is private by default. The Expose tab publishes it on the server so that
an external client can connect. Saving the exposed port restarts the service
and adds external values to the Credentials tab.

Prefer the internal connection for applications hosted in Easypanel. Publicly
exposed Redis instances are frequent attack targets. If remote access is
unavoidable, restrict the port to trusted addresses with the server or provider
firewall and use a unique published port.

## Persistence and backups [#persistence-and-backups]

Redis stores persistent files in its data directory, but the Redis service does
not have the scheduled **Backups** tab available to the other database service
types. Use an external backup process appropriate for the configured Redis
persistence mode, and test restoration before relying on it.

Do not treat Redis as disposable when it contains queues, sessions, or data
that cannot be reconstructed.

## Resources [#resources]

Configure memory reservations and limits in MB, and CPU reservations and limits
in cores. Set a value to `0` for unlimited resources. Saving these settings
restarts the service.

Coordinate the container memory limit with Redis memory and eviction settings.
If the container limit is lower than the working set, the operating system can
terminate Redis instead of allowing Redis to apply its configured eviction
policy.

## Advanced [#advanced]

Advanced settings can override the Docker image and command and add environment
variables using `.env` syntax. Saving Advanced settings redeploys Redis.

The Easypanel deployment passes the service password to the Redis image. Use a
command override only when you understand how the image consumes that
configuration and starts the Redis server.

<Callout type="warn">
  Image and command changes can disable authentication, persistence, or startup.
  Take a verified copy of important Redis data before changing the image version
  or persistence settings.
</Callout>

## Data and deletion [#data-and-deletion]

Redis stores its data on the server at:

```text
/etc/easypanel/projects/[project]/[service]/data
```

The directory is mounted at `/data` in the container. Destroying the service
permanently removes its data and configuration. Export important data before
confirming deletion.
