Files
computer-playbook/roles/web-app-drupal/README.md
Kevin Veen-Birkenbach aa1a901309 feat(web-app-drupal): add Drupal role, OIDC config, and wiring
- networks: add web-app-drupal subnet 192.168.104.80/28
- ports: map localhost http port 8060
- add role files: tasks, vars, schema, users, templates (Dockerfile, docker-compose, settings.local.php, upload.ini)
- add docs: README.md and Administration.md

Ref: https://chatgpt.com/share/690535c5-b55c-800f-8556-5335a6b8a33f
2025-10-31 23:19:07 +01:00

1.6 KiB

Drupal

Description

Drupal is a powerful open-source CMS for building secure, extensible, and content-rich digital experiences. This role deploys a containerized Drupal 10/11 instance optimized for production, including msmtp for outbound email, Drush for CLI administration, and OpenID Connect (OIDC) for SSO (e.g., Keycloak, Auth0, Azure AD).

Overview

  • Flexible Content Model: Entities, fields, and views for complex data needs.
  • Security & Roles: Fine-grained access control and active security team.
  • Robust Ecosystem: Thousands of modules and themes.
  • CLI Automation: Drush for installs, updates, and configuration import.
  • OIDC SSO: First-class login via external Identity Providers.

This automated Docker Compose deployment builds a custom Drupal image with Drush and msmtp, wires database credentials and config overrides via environment, and applies OIDC configuration via Ansible/Drush.

OIDC

This role enables OpenID Connect via the openid_connect module and configures a client entity (e.g., keycloak) including endpoints and scopes. Global OIDC behavior (auto-create, link existing users, privacy) is set via openid_connect.settings.

Further Resources

Credits

Developed and maintained by Kevin Veen-Birkenbach Learn more at veen.world Part of the Infinito.Nexus Project License: Infinito.Nexus NonCommercial License