mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-26 21:45:20 +02:00
Added more update tasks for ESPOCRM config
This commit is contained in:
parent
658003f5b9
commit
535094d15d
@ -38,4 +38,4 @@ docker:
|
|||||||
version: "latest"
|
version: "latest"
|
||||||
name: "espocrm"
|
name: "espocrm"
|
||||||
volumes:
|
volumes:
|
||||||
data: espocrm_data
|
data: ESPOCRM_data
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
- name: Update DB host
|
- name: Update DB host
|
||||||
command: >
|
command: >
|
||||||
docker exec --user root {{ espocrm_name }}
|
docker exec --user root {{ ESPOCRM_NAME }}
|
||||||
sed -i "s/'host' => .*/'host' => '{{ database_host }}',/" {{ espocrm_config_file }}
|
sed -i "s/'host' => .*/'host' => '{{ database_host }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }}
|
||||||
notify: docker compose restart
|
notify: docker compose restart
|
||||||
|
|
||||||
- name: Update DB name
|
- name: Update DB name
|
||||||
command: >
|
command: >
|
||||||
docker exec --user root {{ espocrm_name }}
|
docker exec --user root {{ ESPOCRM_NAME }}
|
||||||
sed -i "s/'dbname' => .*/'dbname' => '{{ database_name }}',/" {{ espocrm_config_file }}
|
sed -i "s/'dbname' => .*/'dbname' => '{{ database_name }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }}
|
||||||
notify: docker compose restart
|
notify: docker compose restart
|
||||||
|
|
||||||
- name: Update DB user
|
- name: Update DB user
|
||||||
command: >
|
command: >
|
||||||
docker exec --user root {{ espocrm_name }}
|
docker exec --user root {{ ESPOCRM_NAME }}
|
||||||
sed -i "s/'user' => .*/'user' => '{{ database_username }}',/" {{ espocrm_config_file }}
|
sed -i "s/'user' => .*/'user' => '{{ database_username }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }}
|
||||||
notify: docker compose restart
|
notify: docker compose restart
|
||||||
|
|
||||||
- name: Update DB password
|
- name: Update DB password
|
||||||
command: >
|
command: >
|
||||||
docker exec --user root {{ espocrm_name }}
|
docker exec --user root {{ ESPOCRM_NAME }}
|
||||||
sed -i "s/'password' => .*/'password' => '{{ database_password }}',/" {{ espocrm_config_file }}
|
sed -i "s/'password' => .*/'password' => '{{ database_password }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }}
|
||||||
notify: docker compose restart
|
notify: docker compose restart
|
||||||
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
|
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
|
||||||
|
|
||||||
@ -31,7 +31,7 @@
|
|||||||
$c = $app->getContainer();
|
$c = $app->getContainer();
|
||||||
$cfg = $c->get("config");
|
$cfg = $c->get("config");
|
||||||
$writer = $c->get("injectableFactory")->create("\Espo\Core\Utils\Config\ConfigWriter");
|
$writer = $c->get("injectableFactory")->create("\Espo\Core\Utils\Config\ConfigWriter");
|
||||||
$new = "{{ espocrm_url }}";
|
$new = "{{ ESPOCRM_URL }}";
|
||||||
if ($cfg->get("siteUrl") !== $new) {
|
if ($cfg->get("siteUrl") !== $new) {
|
||||||
$writer->set("siteUrl", $new);
|
$writer->set("siteUrl", $new);
|
||||||
$writer->save();
|
$writer->save();
|
||||||
@ -41,4 +41,28 @@
|
|||||||
args:
|
args:
|
||||||
chdir: "{{ docker_compose.directories.instance }}"
|
chdir: "{{ docker_compose.directories.instance }}"
|
||||||
register: siteurl_set
|
register: siteurl_set
|
||||||
changed_when: "'CHANGED' in siteurl_set.stdout"
|
changed_when: "'CHANGED' in siteurl_set.stdout"
|
||||||
|
|
||||||
|
- name: Disable EspoCRM maintenance mode
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
docker exec -u root {{ ESPOCRM_NAME }} \
|
||||||
|
sed -i "s/'maintenanceMode' => true/'maintenanceMode' => false/" {{ ESPOCRM_CONFIG_FILE_PUBLIC }}
|
||||||
|
register: disable_maintenance
|
||||||
|
changed_when: disable_maintenance.rc == 0
|
||||||
|
failed_when: disable_maintenance.rc != 0
|
||||||
|
|
||||||
|
- name: Enable EspoCRM cache
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
docker exec -u root {{ ESPOCRM_NAME }} \
|
||||||
|
sed -i "s/'useCache' => false/'useCache' => true/" {{ ESPOCRM_CONFIG_FILE_PUBLIC }}
|
||||||
|
register: enable_cache
|
||||||
|
changed_when: enable_cache.rc == 0
|
||||||
|
failed_when: enable_cache.rc != 0
|
||||||
|
|
||||||
|
- name: Enable EspoCRM cron
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
docker exec -u root {{ ESPOCRM_NAME }} \
|
||||||
|
sed -i "s/'cronDisabled' => true/'cronDisabled' => false/" {{ ESPOCRM_CONFIG_FILE_PUBLIC }}
|
||||||
|
register: enable_cron
|
||||||
|
changed_when: enable_cron.rc == 0
|
||||||
|
failed_when: enable_cron.rc != 0
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
docker_compose_flush_handlers: true
|
docker_compose_flush_handlers: true
|
||||||
|
|
||||||
- name: Check if config.php exists in EspoCRM
|
- name: Check if config.php exists in EspoCRM
|
||||||
command: docker exec --user root {{ espocrm_name }} test -f {{ espocrm_config_file }}
|
command: docker exec --user root {{ ESPOCRM_NAME }} test -f {{ ESPOCRM_CONFIG_FILE_PRIVATE }}
|
||||||
register: config_file_exists
|
register: config_file_exists
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
@ -30,4 +30,5 @@
|
|||||||
$writer->save();
|
$writer->save();
|
||||||
'
|
'
|
||||||
args:
|
args:
|
||||||
chdir: "{{ docker_compose.directories.instance }}"
|
chdir: "{{ docker_compose.directories.instance }}"
|
||||||
|
when: ESPOCRM_OIDC_ENABLED | bool
|
@ -1,7 +1,7 @@
|
|||||||
{% include 'roles/docker-compose/templates/base.yml.j2' %}
|
{% include 'roles/docker-compose/templates/base.yml.j2' %}
|
||||||
web:
|
web:
|
||||||
container_name: {{ espocrm_name }}
|
container_name: {{ ESPOCRM_NAME }}
|
||||||
image: "{{ espocrm_image }}:{{ espocrm_version }}"
|
image: "{{ ESPOCRM_IMAGE }}:{{ ESPOCRM_VERSION }}"
|
||||||
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
||||||
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
|
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
|
||||||
ports:
|
ports:
|
||||||
@ -12,7 +12,7 @@
|
|||||||
- data:/var/www/html
|
- data:/var/www/html
|
||||||
|
|
||||||
daemon:
|
daemon:
|
||||||
image: "{{ espocrm_image }}:{{ espocrm_version }}"
|
image: "{{ ESPOCRM_IMAGE }}:{{ ESPOCRM_VERSION }}"
|
||||||
restart: {{ DOCKER_RESTART_POLICY }}
|
restart: {{ DOCKER_RESTART_POLICY }}
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
@ -22,7 +22,7 @@
|
|||||||
- data:/var/www/html
|
- data:/var/www/html
|
||||||
|
|
||||||
websocket:
|
websocket:
|
||||||
image: "{{ espocrm_image }}:{{ espocrm_version }}"
|
image: "{{ ESPOCRM_IMAGE }}:{{ ESPOCRM_VERSION }}"
|
||||||
restart: {{ DOCKER_RESTART_POLICY }}
|
restart: {{ DOCKER_RESTART_POLICY }}
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
@ -41,6 +41,6 @@
|
|||||||
|
|
||||||
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
|
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
name: {{ espocrm_volume }}
|
name: {{ ESPOCRM_VOLUME }}
|
||||||
|
|
||||||
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
|
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
|
@ -23,7 +23,7 @@ ESPOCRM_ADMIN_USERNAME={{ applications | get_app_conf(application_id, 'users.adm
|
|||||||
ESPOCRM_ADMIN_PASSWORD={{ applications | get_app_conf(application_id, 'credentials.administrator_password', True) }}
|
ESPOCRM_ADMIN_PASSWORD={{ applications | get_app_conf(application_id, 'credentials.administrator_password', True) }}
|
||||||
|
|
||||||
# Public base URL of the EspoCRM instance
|
# Public base URL of the EspoCRM instance
|
||||||
ESPOCRM_SITE_URL={{ espocrm_url }}
|
ESPOCRM_SITE_URL={{ ESPOCRM_URL }}
|
||||||
|
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
# General UI & locale settings
|
# General UI & locale settings
|
||||||
@ -77,7 +77,7 @@ ESPOCRM_CONFIG_LDAP_USER_LOGIN_FILTER=(sAMAccountName=%USERNAME%)
|
|||||||
# OpenID Connect settings (optional)
|
# OpenID Connect settings (optional)
|
||||||
# Applied only if the feature flag is true
|
# Applied only if the feature flag is true
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
{% if applications | get_app_conf(application_id, 'features.oidc', False) %}
|
{% if ESPOCRM_OIDC_ENABLED | bool %}
|
||||||
|
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
# OpenID Connect settings
|
# OpenID Connect settings
|
||||||
@ -94,12 +94,12 @@ ESPOCRM_CONFIG_OIDC_TOKEN_ENDPOINT={{ OIDC.CLIENT.TOKEN_URL }}
|
|||||||
ESPOCRM_CONFIG_OIDC_USER_INFO_ENDPOINT={{ OIDC.CLIENT.USER_INFO_URL }}
|
ESPOCRM_CONFIG_OIDC_USER_INFO_ENDPOINT={{ OIDC.CLIENT.USER_INFO_URL }}
|
||||||
ESPOCRM_CONFIG_OIDC_JWKS_ENDPOINT={{ OIDC.CLIENT.CERTS }}
|
ESPOCRM_CONFIG_OIDC_JWKS_ENDPOINT={{ OIDC.CLIENT.CERTS }}
|
||||||
|
|
||||||
ESPOCRM_CONFIG_OIDC_AUTHORIZATION_REDIRECT_URI={{ espocrm_url }}/oidc/callback
|
ESPOCRM_CONFIG_OIDC_AUTHORIZATION_REDIRECT_URI={{ ESPOCRM_URL }}/oidc/callback
|
||||||
#ESPOCRM_CONFIG_OIDC_SCOPES=openid,profile,email # Defined in main.yml
|
#ESPOCRM_CONFIG_OIDC_SCOPES=openid,profile,email # Defined in main.yml
|
||||||
|
|
||||||
ESPOCRM_CONFIG_OIDC_CREATE_USER=true
|
ESPOCRM_CONFIG_OIDC_CREATE_USER=true
|
||||||
ESPOCRM_CONFIG_OIDC_SYNC=true
|
ESPOCRM_CONFIG_OIDC_SYNC=true
|
||||||
ESPOCRM_CONFIG_OIDC_USERNAME_CLAIM={{OIDC.ATTRIBUTES.USERNAME}}
|
ESPOCRM_CONFIG_OIDC_USERNAME_CLAIM={{ OIDC.ATTRIBUTES.USERNAME }}
|
||||||
# ESPOCRM_CONFIG_OIDC_SYNC_TEAMS=true
|
# ESPOCRM_CONFIG_OIDC_SYNC_TEAMS=true
|
||||||
# ESPOCRM_CONFIG_OIDC_GROUP_CLAIM=group
|
# ESPOCRM_CONFIG_OIDC_GROUP_CLAIM=group
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -1,19 +1,21 @@
|
|||||||
# General
|
# General
|
||||||
application_id: "web-app-espocrm"
|
application_id: "web-app-espocrm"
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
database_type: "mariadb"
|
database_type: "mariadb"
|
||||||
|
|
||||||
# Webserver
|
# Webserver
|
||||||
location_ws: "/ws"
|
location_ws: "/ws"
|
||||||
ws_port: "{{ ports.localhost.websocket[application_id] }}"
|
ws_port: "{{ ports.localhost.websocket[application_id] }}"
|
||||||
client_max_body_size: "100m"
|
client_max_body_size: "100m"
|
||||||
vhost_flavour: "ws_generic"
|
vhost_flavour: "ws_generic"
|
||||||
|
|
||||||
# Espocrm
|
# Espocrm
|
||||||
espocrm_version: "{{ applications | get_app_conf(application_id, 'docker.services.espocrm.version', True) }}"
|
ESPOCRM_VERSION: "{{ applications | get_app_conf(application_id, 'docker.services.espocrm.version', True) }}"
|
||||||
espocrm_image: "{{ applications | get_app_conf(application_id, 'docker.services.espocrm.image', True) }}"
|
ESPOCRM_IMAGE: "{{ applications | get_app_conf(application_id, 'docker.services.espocrm.image', True) }}"
|
||||||
espocrm_name: "{{ applications | get_app_conf(application_id, 'docker.services.espocrm.name', True) }}"
|
ESPOCRM_NAME: "{{ applications | get_app_conf(application_id, 'docker.services.espocrm.name', True) }}"
|
||||||
espocrm_volume: "{{ applications | get_app_conf(application_id, 'docker.volumes.data', True) }}"
|
ESPOCRM_VOLUME: "{{ applications | get_app_conf(application_id, 'docker.volumes.data', True) }}"
|
||||||
espocrm_config_file: "/var/www/html/data/config-internal.php"
|
ESPOCRM_CONFIG_FILE_PRIVATE: "/var/www/html/data/config-internal.php"
|
||||||
espocrm_url: "{{ domains | get_url(application_id, WEB_PROTOCOL) }}"
|
ESPOCRM_CONFIG_FILE_PUBLIC: "/var/www/html/data/config.php"
|
||||||
|
ESPOCRM_URL: "{{ domains | get_url(application_id, WEB_PROTOCOL) }}"
|
||||||
|
ESPOCRM_OIDC_ENABLED: "{{ applications | get_app_conf(application_id, 'features.central_database', False) }}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user