mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-30 07:18:09 +02:00
Why - Fix flaky first-run installs and make config edits idempotent. - Prepare LDAP support and allow optional inline CSP for UI. - Improve observability and guard against broken configuration.php. What - config/main.yml: enable features.ldap; add CSP flags (allow inline style/script elem); minor spacing. - tasks/: split into 01_install (wait for core, absolute CLI path), 02_debug (toggle $debug/$error_reporting safely), 03_patch (patch DB creds in configuration.php), 04_ldap (configure plugin via helper), 05_assert (optional php -l). - templates/Dockerfile.j2: conditionally install/compile php-ldap (fallback to docker-php-ext-install with libsasl2-dev). - templates/cli-ldap.php.j2: idempotently enable & configure Authentication - LDAP from env. - templates/docker-compose.yml.j2: build custom image when LDAP is enabled; mount cli-ldap.php; pull_policy: never. - templates/env.j2: add site/admin vars, MariaDB connector/env, full LDAP env. - vars/main.yml: default to MariaDB (mysqli), add JOOMLA_* vars incl. JOOMLA_CONFIG_FILE. Notes - LDAP path implemented but NOT yet tested end-to-end. - Ref: https://chatgpt.com/share/68b068a8-2aa4-800f-8cd1-56383561a9a8.
16 lines
637 B
Django/Jinja
16 lines
637 B
Django/Jinja
FROM {{ JOOMLA_IMAGE }}:{{ JOOMLA_VERSION }}
|
|
{% if JOOMLA_LDAP_ENABLED %}
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
RUN set -eux; \
|
|
apt-get update; \
|
|
PHPV="$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')" || PHPV=""; \
|
|
apt-get install -y --no-install-recommends "php${PHPV}-ldap" \
|
|
|| ( \
|
|
apt-get install -y --no-install-recommends libldap2-dev libsasl2-dev pkg-config; \
|
|
docker-php-ext-configure ldap --with-ldap=/usr --with-ldap-sasl=/usr \
|
|
|| docker-php-ext-configure ldap --with-ldap=/usr; \
|
|
docker-php-ext-install -j"$(nproc)" ldap \
|
|
); \
|
|
rm -rf /var/lib/apt/lists/*
|
|
{% endif %}
|