- Replace legacy docker_container-based MariaDB deployment with docker-compose based workflow - Add custom Dockerfile and docker-compose templates for MariaDB - Split MariaDB command into separate arguments to avoid entrypoint parsing errors - Introduce MARIADB_CUSTOM_IMAGE and MARIADB_EXPOSE_LOCAL variables - Add docker_compose_flush_handlers to ensure correct handler execution on first run - Replace utils/once/finalize.yml with utils/once/flag.yml for new run-once semantics - Align variable naming with Infinito.Nexus UPPERCASE conventions - Fix PostgreSQL custom image variable name (POSTGRES_CUSTOM_IMAGE_NAME → POSTGRES_CUSTOM_IMAGE) - Remove obsolete flush_handlers var injection in svc-db-postgres/tasks/main.yml - General cleanup after migration from Ansible 2.18 → 2.20 Conversation reference: https://chatgpt.com/share/69306c81-9934-800f-b317-f53a8f246a73
PostgreSQL
Description
This Ansible role deploys and configures a PostgreSQL database in a Docker container using Docker Compose. It is designed to simplify database administration by automating the creation of networks, containers, and essential database tasks (such as database and user creation) for a secure and high-performance environment.
Overview
Built for environments that demand reliability and ease of management, this role:
- Sets up a dedicated Docker network for PostgreSQL.
- Deploys a PostgreSQL container with secure configurations and automated healthchecks.
- Automates tasks like database creation, user setup, and privilege assignments to streamline your workflows.
Purpose
The purpose of this role is to provide an effortless way to deploy a PostgreSQL database via Docker. It minimizes manual interventions while ensuring that your database is configured securely and reliably for both production and development scenarios.
Features
- Automated Deployment: Installs PostgreSQL with minimal manual steps.
- Robust Administration: Automatically creates databases, users, and assigns privileges.
- Enhanced Security: The service is bound to
127.0.0.1:5432, restricting access and enhancing security. - Seamless Docker Integration: Works harmoniously with Docker Compose and other roles in your infrastructure.
Credits 📝
Developed by Kevin Veen-Birkenbach.
Discover more at www.veen.world
Part of the Infinito.Nexus Project
License: Infinito.Nexus NonCommercial License