mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-10-10 02:38:10 +02:00
• Build a custom image and replace upstream entrypoint with docker-entrypoint-custom.sh (strict fail on flag script). • Introduce set_flags.php and wire via ESPOCRM_SET_FLAGS_SCRIPT; apply flags at container start; clear cache afterwards. • Keep exactly one Docker volume (data:/var/www/html/); drop separate custom/extensions mounts. • Compose: use custom image, add healthchecks & depends_on for daemon/websocket; keep service healthy gating. • Ansible: deploy scripts, build & up via handlers; patch siteUrl as www-data; run upgrade non-fatal; always run flag setter. • Vars/Env: add ESPO_INIT_* toggles and ESPOCRM_SET_FLAGS_SCRIPT; refactor variables for scripts & custom image paths. Conversation context: https://chatgpt.com/share/68dd1992-020c-800f-bcf5-2db60cb4aab2
47 lines
2.5 KiB
YAML
47 lines
2.5 KiB
YAML
# General
|
|
application_id: "web-app-espocrm"
|
|
entity_name: "{{ application_id | get_entity_name }}"
|
|
|
|
# Database
|
|
database_type: "mariadb"
|
|
|
|
# Webserver
|
|
location_ws: "/ws"
|
|
ws_port: "{{ ports.localhost.websocket[application_id] }}"
|
|
client_max_body_size: "100m"
|
|
vhost_flavour: "ws_generic"
|
|
|
|
# Espocrm
|
|
|
|
## Container
|
|
ESPOCRM_VERSION: "{{ applications | get_app_conf(application_id, 'docker.services.' ~ entity_name ~'.version') }}"
|
|
ESPOCRM_IMAGE: "{{ applications | get_app_conf(application_id, 'docker.services.' ~ entity_name ~'.image') }}"
|
|
ESPOCRM_CUSTOM_IMAGE: "custom_espocrm"
|
|
ESPOCRM_CONTAINER: "{{ applications | get_app_conf(application_id, 'docker.services.' ~ entity_name ~'.name') }}"
|
|
ESPOCRM_SERVICE: "{{ entity_name }}"
|
|
|
|
## Volumes
|
|
ESPOCRM_DATA_VOLUME: "{{ applications | get_app_conf(application_id, 'docker.volumes.data') }}"
|
|
|
|
## Scripts
|
|
|
|
### Entrypoint
|
|
ESPOCRM_ENTRYPOINT_SCRIPT_FILE: "docker-entrypoint-custom.sh"
|
|
ESPOCRM_ENTRYPOINT_SCRIPT_HOST_ABS: "{{ [ docker_compose.directories.volumes, ESPOCRM_ENTRYPOINT_SCRIPT_FILE ] | path_join }}"
|
|
ESPOCRM_ENTRYPOINT_SCRIPT_HOST_REL: "volumes/{{ ESPOCRM_ENTRYPOINT_SCRIPT_FILE }}"
|
|
ESPOCRM_ENTRYPOINT_SCRIPT_DOCKER: "{{ [ '/usr/local/bin/', ESPOCRM_ENTRYPOINT_SCRIPT_FILE ] | path_join }}"
|
|
|
|
### Set Flag
|
|
ESPOCRM_SET_FLAG_SCRIPT_FILE: "set_flags.php"
|
|
ESPOCRM_SET_FLAG_SCRIPT_HOST_ABS: "{{ [ docker_compose.directories.volumes, ESPOCRM_SET_FLAG_SCRIPT_FILE ] | path_join }}"
|
|
ESPOCRM_SET_FLAG_SCRIPT_HOST_REL: "volumes/{{ ESPOCRM_SET_FLAG_SCRIPT_FILE }}"
|
|
ESPOCRM_SET_FLAG_SCRIPT_DOCKER: "{{ [ '/usr/local/bin/', ESPOCRM_SET_FLAG_SCRIPT_FILE ] | path_join }}"
|
|
|
|
ESPOCRM_CONFIG_FILE_PRIVATE: "/var/www/html/data/config-internal.php"
|
|
ESPOCRM_URL: "{{ domains | get_url(application_id, WEB_PROTOCOL) }}"
|
|
ESPOCRM_OIDC_ENABLED: "{{ applications | get_app_conf(application_id, 'features.oidc') }}"
|
|
ESPOCRM_USER: "www-data"
|
|
|
|
ESPO_INIT_MAINTENANCE_MODE: "{{ applications | get_app_conf(application_id, 'maintenance_mode') | default(false) }}"
|
|
ESPO_INIT_CRON_DISABLED: "{{ ESPO_INIT_MAINTENANCE_MODE }}" # disable cron only when in maintenance
|
|
ESPO_INIT_USE_CACHE: "{{ not ESPO_INIT_MAINTENANCE_MODE }}" # enable cache when NOT in maintenance |