mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 18:29:21 +00:00 
			
		
		
		
	Added more update tasks for ESPOCRM config
This commit is contained in:
		| @@ -38,4 +38,4 @@ docker: | ||||
|       version:  "latest" | ||||
|       name:     "espocrm" | ||||
|   volumes: | ||||
|     data: espocrm_data | ||||
|     data: ESPOCRM_data | ||||
|   | ||||
| @@ -1,25 +1,25 @@ | ||||
| - name: Update DB host | ||||
|   command: > | ||||
|     docker exec --user root {{ espocrm_name }} | ||||
|     sed -i "s/'host' => .*/'host' => '{{ database_host }}',/" {{ espocrm_config_file }} | ||||
|     docker exec --user root {{ ESPOCRM_NAME }} | ||||
|     sed -i "s/'host' => .*/'host' => '{{ database_host }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }} | ||||
|   notify: docker compose restart | ||||
|  | ||||
| - name: Update DB name | ||||
|   command: > | ||||
|     docker exec --user root {{ espocrm_name }} | ||||
|     sed -i "s/'dbname' => .*/'dbname' => '{{ database_name }}',/" {{ espocrm_config_file }} | ||||
|     docker exec --user root {{ ESPOCRM_NAME }} | ||||
|     sed -i "s/'dbname' => .*/'dbname' => '{{ database_name }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }} | ||||
|   notify: docker compose restart | ||||
|  | ||||
| - name: Update DB user | ||||
|   command: > | ||||
|     docker exec --user root {{ espocrm_name }} | ||||
|     sed -i "s/'user' => .*/'user' => '{{ database_username }}',/" {{ espocrm_config_file }} | ||||
|     docker exec --user root {{ ESPOCRM_NAME }} | ||||
|     sed -i "s/'user' => .*/'user' => '{{ database_username }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }} | ||||
|   notify: docker compose restart | ||||
|  | ||||
| - name: Update DB password | ||||
|   command: > | ||||
|     docker exec --user root {{ espocrm_name }} | ||||
|     sed -i "s/'password' => .*/'password' => '{{ database_password }}',/" {{ espocrm_config_file }} | ||||
|     docker exec --user root {{ ESPOCRM_NAME }} | ||||
|     sed -i "s/'password' => .*/'password' => '{{ database_password }}',/" {{ ESPOCRM_CONFIG_FILE_PRIVATE }} | ||||
|   notify: docker compose restart | ||||
|   no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" | ||||
|  | ||||
| @@ -31,7 +31,7 @@ | ||||
|       $c   = $app->getContainer(); | ||||
|       $cfg = $c->get("config"); | ||||
|       $writer = $c->get("injectableFactory")->create("\Espo\Core\Utils\Config\ConfigWriter"); | ||||
|       $new = "{{ espocrm_url }}"; | ||||
|       $new = "{{ ESPOCRM_URL }}"; | ||||
|       if ($cfg->get("siteUrl") !== $new) { | ||||
|         $writer->set("siteUrl", $new); | ||||
|         $writer->save(); | ||||
| @@ -41,4 +41,28 @@ | ||||
|   args: | ||||
|     chdir: "{{ docker_compose.directories.instance }}" | ||||
|   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 | ||||
|  | ||||
| - 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 | ||||
|   changed_when: false | ||||
|   failed_when: false | ||||
| @@ -30,4 +30,5 @@ | ||||
|       $writer->save(); | ||||
|     ' | ||||
|   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' %} | ||||
|   web: | ||||
|     container_name: {{ espocrm_name }} | ||||
|     image: "{{ espocrm_image }}:{{ espocrm_version }}" | ||||
|     container_name: {{ ESPOCRM_NAME }} | ||||
|     image: "{{ ESPOCRM_IMAGE }}:{{ ESPOCRM_VERSION }}" | ||||
| {% include 'roles/docker-container/templates/base.yml.j2' %} | ||||
| {% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} | ||||
|     ports: | ||||
| @@ -12,7 +12,7 @@ | ||||
|       - data:/var/www/html | ||||
|  | ||||
|   daemon: | ||||
|     image: "{{ espocrm_image }}:{{ espocrm_version }}" | ||||
|     image: "{{ ESPOCRM_IMAGE }}:{{ ESPOCRM_VERSION }}" | ||||
|     restart: {{ DOCKER_RESTART_POLICY }} | ||||
|     logging: | ||||
|       driver: journald | ||||
| @@ -22,7 +22,7 @@ | ||||
|       - data:/var/www/html | ||||
|  | ||||
|   websocket: | ||||
|     image: "{{ espocrm_image }}:{{ espocrm_version }}" | ||||
|     image: "{{ ESPOCRM_IMAGE }}:{{ ESPOCRM_VERSION }}" | ||||
|     restart: {{ DOCKER_RESTART_POLICY }} | ||||
|     logging: | ||||
|       driver: journald | ||||
| @@ -41,6 +41,6 @@ | ||||
|  | ||||
| {% include 'roles/docker-compose/templates/volumes.yml.j2' %} | ||||
|   data: | ||||
|     name: {{ espocrm_volume }} | ||||
|     name: {{ ESPOCRM_VOLUME }} | ||||
|  | ||||
| {% 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) }} | ||||
|  | ||||
| # Public base URL of the EspoCRM instance | ||||
| ESPOCRM_SITE_URL={{ espocrm_url }} | ||||
| ESPOCRM_SITE_URL={{ ESPOCRM_URL }} | ||||
|  | ||||
| # ------------------------------------------------ | ||||
| # General UI & locale settings | ||||
| @@ -77,7 +77,7 @@ ESPOCRM_CONFIG_LDAP_USER_LOGIN_FILTER=(sAMAccountName=%USERNAME%) | ||||
| # OpenID Connect settings (optional) | ||||
| # 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 | ||||
| @@ -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_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_CREATE_USER=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_GROUP_CLAIM=group | ||||
| {% endif %} | ||||
|   | ||||
| @@ -1,19 +1,21 @@ | ||||
| # General | ||||
| application_id:                 "web-app-espocrm" | ||||
| application_id:               "web-app-espocrm" | ||||
|  | ||||
| # Database | ||||
| database_type:                  "mariadb" | ||||
| database_type:                "mariadb" | ||||
|  | ||||
| # Webserver | ||||
| location_ws:                    "/ws" | ||||
| ws_port:                        "{{ ports.localhost.websocket[application_id] }}" | ||||
| client_max_body_size:           "100m" | ||||
| vhost_flavour:                  "ws_generic" | ||||
| location_ws:                  "/ws" | ||||
| ws_port:                      "{{ ports.localhost.websocket[application_id] }}" | ||||
| client_max_body_size:         "100m" | ||||
| vhost_flavour:                "ws_generic" | ||||
|  | ||||
| # Espocrm | ||||
| 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_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_config_file:            "/var/www/html/data/config-internal.php" | ||||
| espocrm_url:                    "{{ domains | get_url(application_id, WEB_PROTOCOL) }}" | ||||
| 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_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_CONFIG_FILE_PRIVATE:  "/var/www/html/data/config-internal.php" | ||||
| 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) }}" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user