af1ee64246
web-app-mediawiki: installer-driven bootstrap, DB readiness, idempotent admin; drop LocalSettings bind-mount
...
Tasks:
- Enable docker_compose_flush_handlers=true so services come up immediately.
- Add DB readiness guard via maintenance/sql.php (SELECT 1).
- Run maintenance/install.php on empty schema with robust changed_when/failed_when (merge stdout+stderr); keep secrets hidden.
- Run maintenance/update.php for migrations with neutral changed_when unless work is done.
- Make admin creation idempotent: tolerate 'already exists' and 'Account exists', keep async+no_log.
Config changes:
- Remove LocalSettings.php template and its host bind-mount from compose.
- Drop MediaWiki settings path variables and META namespace variable (unused after switch).
Result: First boot is fully automated (schema + admin), subsequent runs are cleanly idempotent.
Ref: ChatGPT conversation (Aug 28, 2025, Europe/Berlin) — https://chatgpt.com/share/68b0d2e1-9bc0-800f-81a5-db03ce0b81e3 .
2025-08-29 00:07:00 +02:00
6ea8301364
Refactor: migrate cmp/* and srv/* roles into sys-stk/* and sys-svc/* namespaces
...
- Removed obsolete 'cmp' category, introduced 'stk' category (fa-bars-staggered icon).
- Renamed roles:
* cmp-db-docker → sys-stk-back-stateful
* cmp-docker-oauth2 → sys-stk-back-stateless
* srv-domain-provision → sys-stk-front
* cmp-db-docker-proxy → sys-stk-full-stateful
* cmp-docker-proxy → sys-stk-full-stateless
* cmp-rdbms → sys-svc-rdbms
- Updated all include_role references, vars, templates and README.md files.
- Adjusted run_once comments and variable paths accordingly.
- Updated all web-app roles to use new sys-stk/* and sys-svc/* roles.
Conversation: https://chatgpt.com/share/68b0ba66-09f8-800f-86fc-76c47009d431
2025-08-28 22:23:09 +02:00
58c17bf043
web-app-mediawiki: template-driven LocalSettings.php + admin automation; compose & config tweaks
...
Config & features:
- roles/web-app-mediawiki/config/main.yml:
- Add sitename ('Wiki on {{ PRIMARY_DOMAIN | upper }}') and meta_namespace ('Meta')
- Enable central_database feature and database service
- Move volumes under docker.volumes (correct indentation)
Tasks & automation:
- roles/web-app-mediawiki/tasks/main.yml:
- Avoid immediate compose handler flush (docker_compose_flush_handlers: false), then explicit meta: flush_handlers
- Deploy templated LocalSettings.php to host path
- Create admin via maintenance/createAndPromote.php (docker exec, idempotent changed_when/failed_when)
Templates:
- roles/web-app-mediawiki/templates/LocalSettings.php.j2:
- Set $wgSitename, $wgMetaNamespace, $wgServer from MEDIAWIKI_*
- DB settings (mysql, host:port, name, user, password)
- Mail settings (EmergencyContact/PasswordSender)
- Default skin: vector
- Load basic extensions (ParserFunctions, Cite)
- roles/web-app-mediawiki/templates/docker-compose.yml.j2:
- Switch to MEDIAWIKI_* vars, mount LocalSettings.php (ro)
- Use container_port, include curl healthcheck
- Fix volumes name to MEDIAWIKI_VOLUME
Vars:
- roles/web-app-mediawiki/vars/main.yml:
- Restructure with MEDIAWIKI_* (sitename, meta_namespace, URL, image/version/container/volume)
- Define SETTINGS host/dock paths, container_port, default user (www-data)
- Admin bootstrap vars (name/password/email)
Misc:
- Add empty schema/main.yml placeholder for future validation
Refs: ChatGPT conversation (2025-08-28, Europe/Berlin). Link: https://chatgpt.com/share/68b0ace6-f8f4-800f-b7a7-a51a6c5260f1
2025-08-28 21:28:47 +02:00