Files
computer-playbook/roles/web-app-espocrm
Environment TestandClaude Sonnet 4.6 1db58af7fd fix(docker): replace ENV-based ENTRYPOINT with RUN symlink in espocrm and suitecrm
The ENV approach failed at runtime because the ca-trust-wrapper does not
propagate container ENV variables when executing the wrapped ENTRYPOINT,
causing $ESPOCRM_ENTRYPOINT_SCRIPT_DOCKER / $SUITECRM_ENTRYPOINT_SCRIPT_DOCKER
to remain unexpanded ("not found" error in CI).

Replace with a RUN-time symlink (ln -sf) so the dynamic ARG path is baked
into the image filesystem layer. ENTRYPOINT now uses the fixed /entrypoint.sh
path, which is independent of ENV propagation and cache state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 21:48:18 +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 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 Community License (Non-Commercial) ⚖️