This project produces an Open Source Redis Docker image with TLS support. This project uses the base Open Source Redis docker image and stunnel to create a TLS wrapped Redis instance.
Start Redis with TLS:
$ docker run -d -p 6379:6379 -v /path/to/certs:/certs --name redis-tls madflojo/redis-tls
The /path/to/certs
should be a directory on the host that contains the appropriate cert.pem
and key.pem
files for stunnel
to provide TLS encryption.
Require password authentication for Redis:
$ docker run -d -p 6379:6379 -v /path/to/certs:/certs --env REDIS_PASS="<<password here>>" \
--name redis-tls madflojo/redis-tls
Use the $REDIS_PASS
environment variable to require clients to authenticate with this Redis server.
Additional Options to Redis Start Command:
$ docker run -d -p 6379:6379 -v /path/to/certs:/certs --env REDIS_PASS="<<password here>>" \
--env REDIS_CMD_OPTS="--appendonly yes" --name redis-tls madflojo/redis-tls
Use the $REDIS_CMD_OPTS
environment variable to pass any command-line arguments to the Redis server start command.
Start with Persistence:
$ docker run --restart=always -d -p 6379:6379 -v /path/to/certs:/certs \
-v /hostpath/to/redisdatabackup:/data --env REDIS_PASS="<<password here>>" \
--name redis-tls madflojo/redis-tls
To retain data throughout container restarts, use Docker's volume maps to mount the data directory to a host-level directory.
Thank you for your interest in helping develop this project. The time, skills, and perspectives you contribute to this project are valued.
Bugs, Proposals, Feature Requests, and Questions are all welcome by creating an Issue or using Discussions. Please provide as much detail as you can in your request.