mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-07-08 17:45:14 +02:00
44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Role: docker-redis
|
||
|
||
## Description
|
||
|
||
This Ansible role provides a Jinja2 snippet to inject a Redis service definition into your Docker Compose setup. It renders a `service.yml.j2` template that defines a `redis` container with sensible defaults.
|
||
|
||
## Overview
|
||
|
||
The role’s `service.yml.j2` template includes:
|
||
|
||
- An Alpine-based Redis image (`redis:alpine`)
|
||
- Container naming based on `application_id` (defaults to `redis`)
|
||
- Restart policy
|
||
|
||
- Journald logging driver
|
||
- A named volume (`redis:/data`) for persistence
|
||
- A basic healthcheck using `redis-cli ping`
|
||
- Attachment to the default network
|
||
|
||
Include this snippet in your top-level `docker-compose.yml.j2` where you want Redis to appear.
|
||
|
||
## Features
|
||
|
||
- **Configurable `application_id`**
|
||
Sets container name (`{{ application_id }}-redis`).
|
||
|
||
- **Restart policy**
|
||
Controlled by `docker_restart_policy`.
|
||
|
||
- **Journald logging**
|
||
Ensures logs are captured by systemd’s journal.
|
||
|
||
- **Persistent storage**
|
||
Declares and mounts `redis:/data`.
|
||
|
||
- **Built-in healthcheck**
|
||
Uses `redis-cli ping` with configurable intervals and retries.
|
||
|
||
## Further Resources
|
||
|
||
- [Official Redis Docker image on Docker Hub](https://hub.docker.com/_/redis)
|
||
- [Ansible Jinja2 documentation](https://docs.ansible.com/ansible/latest/user_guide/playbooks_templating.html)
|
||
- [Docker Compose reference](https://docs.docker.com/compose/compose-file/)
|