Commit Graph

2968 Commits

Author SHA1 Message Date
03bea763f1 Ensure deterministic ordering of web health expectations and add unit tests
This update sorts all expectation keys alphabetically to guarantee idempotent
Ansible deployments and stable systemd unit generation. Added two unit tests to
validate proper key ordering for canonical domains, aliases, redirects, and WWW
mappings.

Reference: https://chatgpt.com/share/692ae99b-dd88-800f-8fad-2ff62666e295
2025-11-29 13:40:31 +01:00
1129b943fc Added --diff option for deploy to check file differences 2025-11-29 13:31:48 +01:00
e754df7e5c Optimized Captcha implementation by solving not defined bugs 2025-11-28 23:38:08 +01:00
880d0ab1d6 Removed block from main.yml and moved run_once logic to 01_core.yml 2025-11-28 23:24:04 +01:00
654131ab89 Add global CAPTCHA config and EspoCRM seeder
- Introduce shared CAPTCHA settings and RECAPTCHA_ENABLED/HCAPTCHA_ENABLED flags in group_vars
- Wire reCAPTCHA/hCaptcha credentials into EspoCRM, Keycloak, Listmonk and Nextcloud
- Replace EspoCRM set_flags.php with generic seed_config.php and hook it into entrypoint/env
- Fix run_once handling in sys-ctl-cln-disc-space and minor CSS Jinja spacing issue

https://chatgpt.com/share/692a1d4f-1154-800f-a4ae-bb068aa24a53
2025-11-28 23:08:32 +01:00
4dd1769225 web-app-keycloak: sync Google reCAPTCHA config from realm dictionary
This adds update/06_recaptcha.yml to update the registration reCAPTCHA authenticator
from KEYCLOAK_DICTIONARY_REALM and wires it into the main Keycloak task flow.

Ref: https://chatgpt.com/share/6929f91c-cc98-800f-9562-1c6ea802d72d
2025-11-28 20:34:02 +01:00
c2a181edd4 Add generic hCaptcha CSP support and tests (ref: ChatGPT conversation https://chatgpt.com/share/6929f2ba-cedc-800f-9c4c-2049810cea94) 2025-11-28 20:06:58 +01:00
2132356f02 Enable custom EspoCRM CSS with Infinito.Nexus color scheme
- Activate css feature flag for EspoCRM
- Extend CSP with frame-ancestors for PRIMARY_DOMAIN
- Add style.css mapping EspoCRM UI to the --color-01-** blue palette

See ChatGPT discussion: https://chatgpt.com/share/6929b521-3a90-800f-9ce7-29bfb1faaeb4
2025-11-28 15:44:15 +01:00
3dddda39f6 Optimized Listmonk configuration and styling 2025-11-28 14:13:07 +01:00
3912e9b217 Add fediverse_url filter, integrate unified followus URL generation, update Listmonk config, adjust menu categories, and include full Python unittests. Details: https://chatgpt.com/share/69298521-dfc0-800f-9177-fefc7d32fec7 2025-11-28 12:19:12 +01:00
4337b63c2f Updated the desktop menu structure 2025-11-28 11:09:57 +01:00
0287652774 Improve Pixelfed resource configuration and translate waiting message
- Updated Pixelfed worker and application CPU/RAM limits
- Added Redis memory reservation and limit
- Added pids_limit for worker
- Translated script message from German to English
- Reference: https://chatgpt.com/share/69295cad-0398-800f-9604-953c2f5a833b
2025-11-28 09:26:48 +01:00
03a8819483 Solved OAuth2 Proxy host wrong identifier bug 2025-11-27 23:50:26 +01:00
9dd48b7a8e Solved OAuth2 Proxy port config path bugs 2025-11-27 23:10:21 +01:00
e72e5d3e37 Introduced CSP wildcards for MiniQR 2025-11-27 22:23:00 +01:00
21a1c99fda Added Newsletter button to following 2025-11-27 22:02:20 +01:00
9f4bbd4066 Added test for littlejs filter 2025-11-27 21:51:08 +01:00
7eac9374bc Implemented loading of javascript.js und javascript.js.j2 files 2025-11-27 21:50:39 +01:00
6fda85788a feat(web-app-littlejs): add JS submenu support, left-expand menus, improve headline & cleanup examples
This update introduces full JavaScript-based nested submenu handling for the
Apps menu, enabling reliable click-based toggling without interference from
Bootstrap’s native dropdown logic. Submenus now expand to the left via custom
CSS and no longer require dropstart or data-bs-toggle attributes.

Changes include:
- Add javascript feature flag and enable inline eval in CSP
- Add javascript.js implementing custom submenu toggle logic
- Add CSS rules for left-expanding nested dropdown menus
- Replace hardcoded headline with LITTLEJS_HEADLINE variable
- Modernize “Play” → “Start” labels in cards
- Remove unused/legacy examples from examples.yml (commented out, not deleted)
- Cleanup nav_top.html.j2 to remove conflicting Bootstrap attributes

Conversation reference:
https://chatgpt.com/share/6928b4c7-19ec-800f-a087-9af304ef4ed9
2025-11-27 21:30:15 +01:00
6abd4b0373 Implemented LittleJS run logic https://chatgpt.com/share/692894bc-5a58-800f-b803-eb906c3cec65 2025-11-27 20:05:56 +01:00
63ad5e807b Implemented functioning full game link https://chatgpt.com/share/692894bc-5a58-800f-b803-eb906c3cec65 2025-11-27 19:13:42 +01:00
9ce21b7242 Solved Roulette wheel feature bug 2025-11-27 19:02:44 +01:00
ba26e5a53b Added LittleJS draft https://chatgpt.com/share/69288dea-0870-800f-9939-aad7ed2f54b3 2025-11-27 18:44:33 +01:00
05ff3d3d61 Added matomo to roles and optimized features configuration 2025-11-27 14:46:04 +01:00
873607246c Reactivated roulette wheel to harmonize desktop dashboard view 2025-11-27 14:45:13 +01:00
ac5fdeafd2 Activated oauth2 for suitecrm 2025-11-27 13:48:45 +01:00
cc817f3967 Acitivated handler flushing for mini qr 2025-11-27 13:47:48 +01:00
4f48cf633b Add dynamic PHP error handling config for SuiteCRM:
- Introduce env-aware php.ini.j2 template
- Mount PHP config into container via docker-compose
- Add SUITECRM_PHP_CONFIG_HOST and SUITECRM_WELL_SOFTWARE_NAME variables
- Refactor LDAP extension path using normalized software name

https://chatgpt.com/share/69284194-cf6c-800f-b138-eb6ddf25592c
2025-11-27 13:18:50 +01:00
bbebf7964d SuiteCRM: Add Legacy Theme SCSS→CSS build step (pscss via PHP) to fix missing legacy UI styles.
See related ChatGPT conversation:
https://chatgpt.com/share/69283b1f-20b0-800f-9f91-3da963470558x
2025-11-27 12:51:16 +01:00
c5afae42cf Remove unused SuiteCRM SMTP environment variables and cleanup user definitions
Reference: https://chatgpt.com/share/6928391d-7474-800f-bfcd-256b265a4fc8
2025-11-27 12:42:37 +01:00
d7e0123af2 SuiteCRM LDAP integration fixes:
- Correct LDAP attribute FIRSTNAME changed to givenName
- Add automated ldap.yaml rendering and bind mount
- Create LDAP extension directory inside container
- Adjust docker-compose.yml for proper LDAP config mount
- Add strict formatting template for ldap.yaml
- Update paths for SUITECRM_LDAP_CONFIG_HOST and SUITECRM_LDAP_EXTENSION_DIR

Details: https://chatgpt.com/share/6928375d-1458-800f-bcc3-b3364ea69078
2025-11-27 12:35:07 +01:00
3fe83f26d5 SuiteCRM: Implement and activate full LDAP authentication support
- Removed legacy SugarCRM LDAP config generation
- Implemented Symfony/SuiteCRM 8 native LDAP ENV configuration
- Added auto-creation provider settings
- Added trusted proxy + host configuration for correct HTTPS handling
- Added automatic domain-based TRUSTED_HOSTS generation
- Ensured cache is cleared/warmed up on container start
- Verified LDAP authentication now works as expected

Conversation reference: https://chatgpt.com/share/69281db4-4ff4-800f-8577-77e20120e09a
2025-11-27 10:46:32 +01:00
bee833feb4 Introduce deterministic CSS gradient angle and shared color palette facts
This ensures CSS output remains stable between runs, preventing unnecessary OpenResty restarts for every service caused by randomized gradients or regenerated CSS files.

Ref: https://chatgpt.com/share/69281d4b-2488-800f-8c0c-c0db44810d1d
2025-11-27 10:44:01 +01:00
b80cfbdc9d Finished CLI Installer for SuiteCRM Implementation (LDAP still missing) - https://chatgpt.com/share/69274924-9dec-800f-8653-345aa2c25664 2025-11-27 04:02:04 +01:00
6d6b0fdea6 Implemented CLI installer draft and replaced OIDC by OAuth2 Proxy for SuiteCRM - See https://chatgpt.com/share/69274924-9dec-800f-8653-345aa2c25664 2025-11-27 01:10:11 +01:00
d97d34a822 Refactored OAuth2 Proxy and PhpLDAPAdmin 2025-11-27 00:21:22 +01:00
4b2c7eef88 Finished SuiteCRM install mask - See https://chatgpt.com/share/69274924-9dec-800f-8653-345aa2c25664 2025-11-26 22:21:20 +01:00
e6cb0cbed9 Added suitecrm draft - See https://chatgpt.com/share/69274924-9dec-800f-8653-345aa2c25664 2025-11-26 19:38:37 +01:00
254a685b05 Add cleanup task for MIG roles directory and restructure build_data tasks
Conversation: https://chatgpt.com/share/6926bece-332c-800f-a5f6-b76fe8cb42fa
2025-11-26 19:13:40 +01:00
9cbb74b7c8 Added the correct http status code for mini-qr 2025-11-26 17:00:46 +01:00
62d20fbb71 Joomla: Add upload-size support, introduce php-upload.ini, refactor task numbering, update Docker Compose and override logout client_max_body_size
This commit adds dynamic upload size configuration (upload_max_filesize + post_max_size), introduces a dedicated php-upload.ini template, mounts it through Docker Compose, renumbers all task files consistently, updates main.yml flow, and overrides client_max_body_size inside the logout role.

Improves clarity, consistency, and brings Joomla in line with other IN roles.

See: https://chatgpt.com/share/6927075c-4de0-800f-bcee-b1f5193e4a99
2025-11-26 14:59:51 +01:00
da8dc3b53a CSP: Add logout-specific 'unsafe-inline' injection for script-src-attr/elem and extend unit test coverage
Implements automatic addition of 'unsafe-inline' when logout feature is enabled, ensuring inline handlers work for iframe logout bridge. Preserves strict base script-src when explicitly disabled. Includes full test suite for logout behaviour, propagation rules, and base override interactions.

Context: https://chatgpt.com/share/6927075c-4de0-800f-bcee-b1f5193e4a99
2025-11-26 14:58:17 +01:00
287cccf6cb Made /etc/msmtprc volume for wordpress read only 2025-11-26 14:36:40 +01:00
61ee993ff1 Fix Listmonk bounce mailbox: switch from SMTP port to POP3 port 995 for correct bounce processing.
Reference: https://chatgpt.com/share/69270222-b8dc-800f-9527-3088a85ed71c (conversation about Listmonk POP3 bounce error)
2025-11-26 14:35:52 +01:00
2e490ed238 Optimized CSS 2025-11-26 14:27:42 +01:00
c11ea9b699 Further CSS improvements for Discourse 2025-11-26 12:39:13 +01:00
2f5ead2212 Optimized discourse css 2025-11-26 11:44:26 +01:00
13e74a86a6 Removed whitespace 2025-11-26 11:17:42 +01:00
962c68fdab Optimized Mobilizon CSS 2025-11-26 11:16:42 +01:00
f8899e9493 Refactor Shopware role: separate Shopware app version and PHP runtime, update Dockerfile to use dynamic images, consolidate pull_policy, and improve image configuration. See conversation: https://chatgpt.com/share/6926d2f2-083c-800f-916a-7c260d1eada8 2025-11-26 11:14:29 +01:00