- proxy(html.conf.j2): * Make proxy_pass more robust (strip '=', '^~' prefixes; ignore @/~ match locations) * Switch WS header to $connection_upgrade * Unify timeouts (proxy_connect_timeout 5s) * Lua optional: include only when proxy_lua_enabled=true; unset Accept-Encoding only then * Buffering via flag: proxy_buffering/proxy_request_buffering 'on' with Lua, otherwise 'off' - proxy(media.conf.j2): minor formatting/spacing fix - inj-css(head_sub.j2): consistent spacing for global_css_version - bigbluebutton(tasks/main.yml): * Render HTML location block once before include_role (location='^~ /html5client', OAuth2/Lua disabled) * Pass rendered snippet via proxy_extra_configuration to the vHost * Cleanup afterwards: proxy_extra_configuration = undef() - docker-compose(handlers): * Build with retry: if 'docker compose build' fails -> retry with '--no-cache --pull' * Enable BuildKit (DOCKER_BUILDKIT=1, COMPOSE_DOCKER_CLI_BUILD=1) - vars: trailing newline / minor formatting Motivation: - BBB HTML5 client (^~ /html5client) needs a separate location without Lua/buffering. - More resilient CI/CD builds via automatic no-cache retry. - Cleaner headers/proxy defaults and fewer side effects. Files: - roles/docker-compose/handlers/main.yml - roles/srv-proxy-7-4-core/templates/location/html.conf.j2 - roles/srv-proxy-7-4-core/templates/location/media.conf.j2 - roles/srv-web-7-7-inj-css/templates/head_sub.j2 - roles/web-app-bigbluebutton/tasks/main.yml - roles/web-app-bigbluebutton/vars/main.yml
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, the Arch Wiki – Docker, and Compose CLI reference 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 Infinito.Nexus 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
srv-proxy-7-4-core
and other Infinito.Nexus service roles.
Administration Tips
For administration tips checkout this.
Credits 📝
Developed and maintained by Kevin Veen-Birkenbach
Learn more at www.veen.world
Part of the Infinito.Nexus Project
License: Infinito.Nexus NonCommercial License (CNCL)