Includes: - Rewrite of test-deploy workflow to use isolated inner dockerd with privileged mode. - Switch logging drivers to 'json-file' when IS_CONTAINER=true for compatibility with non-systemd CI runners. - Adjust Dockerfile to install docker CLI and simplify package setup. - Improve inventory creation and deploy steps for CI stability. - Fully compatible with Ansible 2.20 variable handling. Conversation reference: https://chatgpt.com/share/6930e285-9604-800f-aad8-7a81c928548c
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 toredis) -
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 byDOCKER_RESTART_POLICY. -
Journald logging
Ensures logs are captured by systemd’s journal. -
Persistent storage
Declares and mountsredis:/data. -
Built-in healthcheck
Usesredis-cli pingwith configurable intervals and retries.