mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-27 05:55:15 +02:00
- Replace `ESPOCRM_NAME` with `ESPOCRM_CONTAINER` for clarity and consistency. - Drop unused `ESPOCRM_CONFIG_FILE_PUBLIC`, rely only on `config-internal.php`. - Make DB credential patching idempotent using `grep` + `sed` checks. - Replace direct sed edits for maintenance/cron/cache with EspoCRM ConfigWriter. - Add fallback execution as root if www-data user cannot write config. - Clear EspoCRM cache only when config changes and in update mode. - Remove obsolete OIDC scopes inline task (now handled via env/vars). - Fix docker-compose template to use `ESPOCRM_CONTAINER`. This refactor makes the EspoCRM role more robust, idempotent, and aligned with EspoCRM’s official ConfigWriter mechanism. See conversation: https://chatgpt.com/share/68a87820-12f8-800f-90d6-01ba97a1b279
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
cmp-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
anddocker-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 ⚖️