2.0 KiB
finallycoffee.databases.redis
ansible role
Redis is the self-proclaimed world's fastest data platform for caching, vector search and NoSQL databases. Since version 7.2.4, it is no longer considered "Free and open source software" (FOSS), with redis switching their license to the "Serverside public license" (SSPL).
Setting the redis_version
to higher than 7.2.4
means you will deploy
the SSPL-licensed version to redis.
Configuration
All container-related options to the docker_container
ansible module
are available under the redis_container_*
namespace, for example use
redis_container_ports: [ '127.0.0.1:6379:6370/tcp' ]
to map the
containers port 6379 to the docker host.
Redis-related config options are either available in the redis_config_*
namespace or can be specified by setting them as a dictionary in
redis_config
Authentication and authorization
Redis ACL can be specified as an array in the redis_config_user
variable
- see the redis documentation
for the format. Per default, the
default
user is able to connect without any password. To require a password and use a different user, override the variable, for exampleredis_config_user: [ 'username on +@all -DEBUG ~* >secret' ]
.
Redis on a unix socket
To make redis available on a unix socket, a directory must be supplied in which the socket lives:
redis_container_socket: /var/run/redis.sock
redis_container_volumes:
- "/path/to/socket/on/host/redis.sock:{{ redis_container_socket }}:z"
redis_config_unixsocket: "{{ redis_container_socket }}"
Container specific information
Redis publishes their official container image in both a debian-based and an
alpine-based variant. Which image should be used can be configured in
redis_container_image_flavour
, which defaults to alpine
, which is smaller
in size but also includes less related / debugging tools. To use the debian-
based image, unset the flavour using redis_container_image_flavour: ~
.