Optimized Matomo role

This commit is contained in:
Kevin Veen-Birkenbach 2025-07-09 10:59:36 +02:00
parent af3767fdfa
commit 46cf65f296
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
5 changed files with 67 additions and 46 deletions

View File

@ -17,6 +17,7 @@ HOST_DECIMAL_MARK: ","
deployment_mode: "single" # Use single, if you deploy on one server. Use cluster if you setup in cluster mode. deployment_mode: "single" # Use single, if you deploy on one server. Use cluster if you setup in cluster mode.
web_protocol: "https" # Web protocol type. Use https or http. If you run local you need to change it to http web_protocol: "https" # Web protocol type. Use https or http. If you run local you need to change it to http
web_port: "{{ 443 if web_protocol == 'https' else 80 }}" # Default port web applications will listen to
## Domain ## Domain
primary_domain_tld: "localhost" # Top Level Domain of the server primary_domain_tld: "localhost" # Top Level Domain of the server

View File

@ -7,7 +7,17 @@
COMPOSE_HTTP_TIMEOUT: 600 COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600 DOCKER_CLIENT_TIMEOUT: 600
# default setup for docker compose files - name: Validate Docker Compose configuration
command:
cmd: docker compose -f {{ docker_compose.files.docker_compose }} config --quiet
chdir: "{{ docker_compose.directories.instance }}"
register: dc_validate
changed_when: false
failed_when: dc_validate.rc != 0
listen:
- docker compose up
- docker compose restart
- name: docker compose up - name: docker compose up
shell: docker-compose -p {{ application_id }} up -d --force-recreate --remove-orphans --build shell: docker-compose -p {{ application_id }} up -d --force-recreate --remove-orphans --build
args: args:

View File

@ -24,7 +24,7 @@
- name: "Create central database" - name: "Create central database"
include_role: include_role:
name: "web-app-{{database_type}}" name: "svc-rdbms-{{database_type}}"
when: applications | is_feature_enabled('central_database',application_id) when: applications | is_feature_enabled('central_database',application_id)
- name: "Add database to backup" - name: "Add database to backup"

View File

@ -0,0 +1,51 @@
- name: "include svc-rdbms-central"
include_role:
name: svc-rdbms-central
- name: "include role srv-web-proxy-domain for {{application_id}}"
include_role:
name: srv-web-proxy-domain
vars:
domain: "{{ domains | get_domain(application_id) }}"
http_port: "{{ ports.localhost.http[application_id] }}"
- name: flush docker service
meta: flush_handlers
# Wait for API
- name: Exclude global IPs in Matomo
uri:
url: "{{ matomo_index_php_url }}"
method: POST
body_format: form-urlencoded
body:
module: API
method: SitesManager.setGlobalExcludedIps
excludedIps: "{{ matomo_excluded_ips | join(',') }}"
format: json
token_auth: "{{ matomo_auth_token }}"
return_content: yes
status_code: 200
register: matomo_exclude
until: matomo_exclude.status == 200
retries: 5
delay: 10
- name: Exclude CSP-CheckerBot user agent in Matomo
uri:
url: "{{ matomo_index_php_url }}"
method: POST
body_format: form-urlencoded
body:
module: API
method: SitesManager.setGlobalExcludedUserAgents
excludedUserAgents: "CSP-CheckerBot"
format: json
token_auth: "{{ matomo_auth_token }}"
return_content: yes
status_code: 200
- name: run the docker matomo tasks once
set_fact:
run_once_web_app_matomo: true
when: run_once_web_app_matomo is not defined

View File

@ -1,46 +1,5 @@
--- ---
- name: "include svc-rdbms-central" - name: "construct {{ role_name }}"
include_role: include_tasks: constructor.yml
name: svc-rdbms-central when: run_once_web_app_matomo is not defined
when: run_once_docker_matomo is not defined
- name: "include role srv-web-proxy-domain for {{application_id}}"
include_role:
name: srv-web-proxy-domain
vars:
domain: "{{ domains | get_domain(application_id) }}"
http_port: "{{ ports.localhost.http[application_id] }}"
when: run_once_docker_matomo is not defined
- name: run the docker matomo tasks once
set_fact:
run_once_docker_matomo: true
when: run_once_docker_matomo is not defined
- name: Exclude global IPs in Matomo
uri:
url: "{{ matomo_index_php_url }}"
method: POST
body_format: form-urlencoded
body:
module: API
method: SitesManager.setGlobalExcludedIps
excludedIps: "{{ matomo_excluded_ips | join(',') }}"
format: json
token_auth: "{{ matomo_auth_token }}"
return_content: yes
status_code: 200
- name: Exclude CSP-CheckerBot user agent in Matomo
uri:
url: "{{ matomo_index_php_url }}"
method: POST
body_format: form-urlencoded
body:
module: API
method: SitesManager.setGlobalExcludedUserAgents
excludedUserAgents: "CSP-CheckerBot"
format: json
token_auth: "{{ matomo_auth_token }}"
return_content: yes
status_code: 200