Docker-container Role¶
Description: No description available
Variables¶
author: Kevin Veen-Birchenbach
description: Provides shared Jinja2 snippets for Docker Compose service definitions (base, networks, healthchecks, depends_on).
license: Infinito.Nexus NonCommercial License
license_url: https://s.infinito.nexus/license
company: Kevin Veen-Birchenbach
Consulting & Coaching Solutions https://www.veen.world
galaxy_tags: [‘docker’, ‘compose’, ‘jinja2’]
repository: https://s.infinito.nexus/code
issue_tracker_url: https://s.infinito.nexus/issues
documentation: https://s.infinito.nexus/code/tree/main/roles/docker-container
min_ansible_version: 2.9
platforms: [{‘name’: ‘Any’, ‘versions’: [‘all’]}]
README¶
Docker Container¶
Description¶
This Ansible role supplies common Jinja2 snippets for composing Docker
services consistently. Rather than repeating the same YAML blocks, you
include one or more of the provided templates in your
docker-compose.yml.j2.
Overview¶
The following templates are available under
roles/docker-container/templates/:
- base.yml.j2Common service settings:
restart,env_file,logging. - networks.yml.j2Conditional network attachments:
central_<database_type>whencentral_databasefeature is enabledcentral_ldapwhen LDAP feature and network are enableddefault
- depends_on_dmbs.yml.j2Builds a
depends_on:block automatically:If
central_databaseis off, renders an empty listdepends_on: []Otherwise, includes
databaseand/orrediswith healthcheck conditions
- healthcheck/Four strategies:
curl.yml.j2(HTTP viacurl -f)wget.yml.j2(HTTP viawget --spider)tcp.yml.j2(TCP socket test)msmtp_curl.yml.j2(SMTP first, then HTTP viacurl; avoids duplicate emails)
Include whichever snippets your service requires to keep your Compose files DRY and maintainable.
Features¶
- Modular templatesMix only the blocks you need.
- Feature‐driven logicNetworks and dependencies adjust automatically based on your
applicationsvariables. - Multiple healthcheck optionsPick the probe that works best for your container’s protocol and requirements.