mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-15 16:40:45 +02:00
- 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
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
---
|
|
- name: Validate Docker Compose configuration
|
|
command:
|
|
cmd: docker compose -f {{ docker_compose.files.docker_compose }} config --quiet
|
|
chdir: "{{ docker_compose.directories.instance }}"
|
|
register: dc_validate
|
|
changed_when: false
|
|
failed_when: dc_validate.rc != 0
|
|
listen:
|
|
- docker compose up
|
|
- docker compose restart
|
|
- docker compose just up
|
|
|
|
- name: Build docker compose
|
|
shell: |
|
|
set -euo pipefail
|
|
docker compose build || {
|
|
echo "Retrying without cache and pulling bases...";
|
|
docker compose build --no-cache --pull;
|
|
}
|
|
args:
|
|
chdir: "{{ docker_compose.directories.instance }}"
|
|
executable: /bin/bash
|
|
environment:
|
|
COMPOSE_HTTP_TIMEOUT: 600
|
|
DOCKER_CLIENT_TIMEOUT: 600
|
|
# Faster build
|
|
DOCKER_BUILDKIT: "1"
|
|
COMPOSE_DOCKER_CLI_BUILD: "1"
|
|
listen:
|
|
- docker compose build
|
|
|
|
- name: docker compose up
|
|
shell: |
|
|
if [ -f "{{ docker_compose.files.env }}" ]; then
|
|
docker compose -p {{ application_id | get_entity_name }} --env-file "{{ docker_compose.files.env }}" up -d --force-recreate --remove-orphans
|
|
else
|
|
docker compose -p {{ application_id | get_entity_name }} up -d --force-recreate --remove-orphans
|
|
fi
|
|
args:
|
|
chdir: "{{ docker_compose.directories.instance }}"
|
|
executable: /bin/bash
|
|
environment:
|
|
COMPOSE_HTTP_TIMEOUT: 600
|
|
DOCKER_CLIENT_TIMEOUT: 600
|
|
listen:
|
|
- docker compose up
|
|
- docker compose just up # @todo replace later just up by up when code is refactored, build atm is also listening to up
|
|
|
|
- name: docker compose restart
|
|
command:
|
|
cmd: 'docker compose restart'
|
|
chdir: "{{docker_compose.directories.instance}}"
|
|
listen: docker compose restart
|