mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-12-07 18:05:09 +00:00
Refactor proxy/webserver configuration variables to a consistent webserver_* naming scheme across roles. Replace legacy variables like proxy_extra_configuration, client_max_body_size, vhost_flavour, location_ws and ws_port with webserver_extra_configuration, webserver_client_max_body_size, webserver_vhost_flavour, webserver_websocket_location and webserver_websocket_port. Update NGINX vhost and location templates (html, upload, ws, basic, ws_generic) as well as callers (sys-front-inj-all, sys-stk-front-proxy, various web-app-* and web-svc-* roles) to use the new naming. Tighten docker-compose Git repository handling by making docker_git_repository_pull depend on docker_git_repository_address being defined, a string and non-empty. This avoids accidental Git operations when the repository address is unset or of the wrong type. Refactor the BigBlueButton role structure and fix deployment bugs: introduce 01_core.yml to orchestrate docker/proxy setup, database seeding, websocket map deployment, docker-compose overrides and admin/bootstrap logic in a single once-executed entrypoint. Rename supporting task files (02_docker-compose.yml, 03_administrator.yml, 04_dependencies.yml) and update tasks/main.yml to delegate via include_tasks with run_once_web_app_bigbluebutton. Improve Greenlight admin creation behavior by treating the 'Email has already been taken' error as a non-fatal, unchanged outcome and running user:set_admin_role as a fallback, both for the primary password and the OIDC starred-password path. Also standardize vhost flavour selection for services like Mailu, Discourse, CDN, Collabora, Coturn, OnlyOffice, Simpleicons and web-svc-logout by explicitly passing webserver_vhost_flavour where needed and aligning client_max_body_size and websocket configuration with the new webserver_* variables. Reference: ChatGPT conversation https://chatgpt.com/share/6931c530-bba8-800f-9997-dd61dc1d497b
31 lines
1.9 KiB
YAML
31 lines
1.9 KiB
YAML
# General
|
|
application_id: "web-app-joomla"
|
|
database_type: "mariadb"
|
|
container_port: 80
|
|
webserver_client_max_body_size: "{{ JOOMLA_POST_MAX_SIZE }}"
|
|
|
|
# Joomla
|
|
JOOMLA_VERSION: "{{ applications | get_app_conf(application_id, 'docker.services.joomla.version') }}"
|
|
JOOMLA_IMAGE: "{{ applications | get_app_conf(application_id, 'docker.services.joomla.image') }}"
|
|
JOOMLA_CONTAINER: "{{ applications | get_app_conf(application_id, 'docker.services.joomla.name') }}"
|
|
JOOMLA_VOLUME: "{{ applications | get_app_conf(application_id, 'docker.volumes.data') }}"
|
|
JOOMLA_CUSTOM_IMAGE: "{{ JOOMLA_IMAGE }}_custom"
|
|
JOOMLA_DOMAINS: "{{ applications | get_app_conf(application_id, 'server.domains.canonical') }}"
|
|
JOOMLA_SITE_NAME: "{{ SOFTWARE_NAME }} Joomla - CMS"
|
|
JOOMLA_DB_CONNECTOR: "{{ 'pgsql' if database_type == 'postgres' else 'mysqli' }}"
|
|
JOOMLA_CONFIG_FILE: "/var/www/html/configuration.php"
|
|
JOOMLA_INSTALLER_CLI_FILE: "/var/www/html/installation/joomla.php"
|
|
JOOMLA_CLI_FILE: "/var/www/html/cli/joomla.php"
|
|
|
|
## Upload
|
|
JOOMLA_UPLOAD_CONFIG: "{{ [ docker_compose.directories.instance, 'php-upload.ini' ] | path_join }}"
|
|
JOOMLA_UPLOAD_SIZE: "{{ applications | get_app_conf(application_id, 'docker.services.joomla.upload.size_mb') }}"
|
|
JOOMLA_UPLOAD_MAX_FILESIZE: "{{ (JOOMLA_UPLOAD_SIZE | int) }}M"
|
|
JOOMLA_POST_MAX_SIZE: "{{ ((JOOMLA_UPLOAD_SIZE | int) * 12 // 10) }}M"
|
|
|
|
# User
|
|
JOOMLA_USER_NAME: "{{ users.administrator.username }}"
|
|
JOOMLA_USER: "{{ JOOMLA_USER_NAME | capitalize }}"
|
|
JOOMLA_USER_PASSWORD: "{{ users.administrator.password }}"
|
|
JOOMLA_USER_EMAIL: "{{ users.administrator.email }}"
|
|
JOOMLA_WEB_USER: "www-data" |