mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-21 23:42:24 +02:00
35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
# Docker Compose 🧱
|
||
|
||
## Description
|
||
|
||
This Ansible role manages Docker Compose project structures and workflows for applications on Arch Linux. It creates dedicated instance directories, manages `.env` and `docker-compose.yml` files, and provides automation logic for project reset, rebuild, and startup sequences.
|
||
|
||
Refer to the [Docker Compose documentation](https://docs.docker.com/compose/), the [Arch Wiki – Docker](https://wiki.archlinux.org/title/Docker), and [Compose CLI reference](https://docs.docker.com/compose/cli-command/) for more details.
|
||
|
||
## Overview
|
||
|
||
This role creates a flexible directory layout for managing Docker Compose projects across environments. It ensures directories are initialized, optionally reset, and kept clean using internal flags like `mode_reset` or `mode_cleanup`.
|
||
|
||
## Purpose
|
||
|
||
To offer a centralized, extensible system for managing containerized applications using Docker Compose within the CyMaIS architecture. The role allows easy integration of services, secrets, configurations, and custom behaviors per application.
|
||
|
||
## Features
|
||
|
||
- **Dynamic Directory Structure:** Creates per-application instance folders for Compose setups.
|
||
- **Reset Logic:** Cleans previous Compose project files and data when `mode_reset` is enabled.
|
||
- **Handlers for Runtime Control:** Automatically builds, sets up, or restarts containers based on handlers.
|
||
- **Template-ready Service Files:** Predefined service base and health check templates.
|
||
- **Integration Support:** Compatible with `nginx-docker-reverse-proxy` and other CyMaIS service roles.
|
||
|
||
## Administration Tips
|
||
|
||
For administration tips checkout [this](Administration.md).
|
||
|
||
## Credits 📝
|
||
|
||
Developed and maintained by **Kevin Veen-Birkenbach**
|
||
Learn more at [www.veen.world](https://www.veen.world)
|
||
|
||
Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais)
|
||
License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl) |