Files
computer-playbook/roles/web-app-espocrm
Kevin Veen-Birkenbach 5e616d3962 web: general domain cleanup (canonical/aliases normalization)
- Normalize domain blocks across apps:
  - Add explicit 'aliases: []' everywhere (no implicit aliases)
  - Standardize canonical subdomains for consistency:
    * Bluesky: web/api under *.bluesky.<PRIMARY_DOMAIN>
    * EspoCRM: espo.crm.<PRIMARY_DOMAIN>
    * Gitea:   tea.git.<PRIMARY_DOMAIN>
    * GitLab:  lab.git.<PRIMARY_DOMAIN>
    * Joomla:  joomla.cms.<PRIMARY_DOMAIN>
    * Magento: magento.shop.<PRIMARY_DOMAIN>
    * OpenProject: open.project.<PRIMARY_DOMAIN>
    * Pretix:  ticket.shop.<PRIMARY_DOMAIN>
    * Taiga:   kanban.project.<PRIMARY_DOMAIN>
  - Remove legacy/duplicate aliases and use empty list instead
  - Fix 'alias' -> 'aliases' where applicable

Context: preparing for AUTO_BUILD_ALIASES=False and deterministic redirect mapping.

Ref: conversation https://chatgpt.com/share/68cd512c-c878-800f-bdf2-81737adf7e0e
2025-09-19 14:51:56 +02:00
..
2025-07-09 02:26:50 +02:00

EspoCRM

Description

Enhance your sales and service processes with EspoCRM, an open-source CRM featuring workflow automation, LDAP/OIDC single sign-on, and a sleek, lightweight UI! 🚀💼

Overview

This Ansible role deploys EspoCRM using Docker. It handles:

  • MariaDB database provisioning via the sys-svc-rdbms role
  • Nginx domain setup with WebSocket and reverse-proxy configuration
  • Environment variable management through Jinja2 templates
  • Docker Compose orchestration for web, daemon, and websocket services
  • Automatic OIDC scope configuration within the EspoCRM container

With this role, you'll have a production-ready CRM environment that's secure, scalable, and real-time.

Features

  • Workflow Automation: Create and manage automated CRM processes with ease 🛠️
  • LDAP/OIDC SSO: Integrate with corporate identity providers for seamless login 🔐
  • WebSocket Notifications: Real-time updates via ZeroMQ and WebSockets 🌐
  • Config via Templates: Fully customizable .env and docker-compose.yml with Jinja2 ⚙️
  • Health Checks & Logging: Monitor service health and logs with built-in checks and journald 📈
  • Modular Role Composition: Leverages central roles for database and Nginx, ensuring consistency across deployments 🔄

Further Resources

Credits

Developed and maintained by Kevin Veen-Birkenbach.
Consulting & Coaching Solutions: veen.world 🌟
Part of the Infinito.Nexus Project 📂
License: Infinito.Nexus NonCommercial License ⚖️