From 56847310bf5925808e1cc8520a4c0916dbb4a909 Mon Sep 17 00:00:00 2001 From: Christian Elberfeld <elberfeld@web.de> Date: Sat, 22 Jul 2023 02:47:41 +0200 Subject: [PATCH] =?UTF-8?q?Media=20Cache=20nach=2030=20Tagen=20l=C3=B6sche?= =?UTF-8?q?n,=20fixes=20#41?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- host_vars/webserver | 1 + webserver/docker_matrix/tasks/main.yml | 14 +++++++++++++- .../docker_matrix/templates/docker-compose.yml | 15 +++++++++++++++ .../docker_matrix/templates/purgemediacache.sh | 13 +++++++++++++ 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 webserver/docker_matrix/templates/purgemediacache.sh diff --git a/host_vars/webserver b/host_vars/webserver index fe0b27d5..22cc6472 100644 --- a/host_vars/webserver +++ b/host_vars/webserver @@ -103,6 +103,7 @@ alert: - { name: "mail_mailman-nginx_1" } - { name: "matrix_ma1sd_1" } - { name: "matrix_db_1" } + - { name: "matrix_purgemediacache_1" } - { name: "matrix_synapse_1" } - { name: "matterbridge_cw_1" } - { name: "matterbridge_wz_1" } diff --git a/webserver/docker_matrix/tasks/main.yml b/webserver/docker_matrix/tasks/main.yml index 990d843e..c3f42d07 100644 --- a/webserver/docker_matrix/tasks/main.yml +++ b/webserver/docker_matrix/tasks/main.yml @@ -5,6 +5,7 @@ - { path: /srv/shared/noreply_email_pass, length: -1 } - { path: /srv/ldap/secret/ldap_readonly_pass, length: -1 } - { path: /srv/matrix/postgres_user_pass, length: 24 } + - { path: /srv/matrix/admin_access_token, length: -1 } # Get in Element fo an Admin User: Settings > Help > Advanced - name: create folder struct for matrix @@ -31,7 +32,9 @@ - name: Konfig-Dateien erstellen - template: src={{ item }} dest=/srv/matrix/{{ item }} + template: + src: "{{ item }}" + dest: "/srv/matrix/{{ item }}" with_items: - docker-compose.yml - rest_auth_provider.py @@ -41,6 +44,15 @@ register: configs +- name: Script-Dateien erstellen + template: + src: "{{ item }}" + dest: "/srv/matrix/{{ item }}" + mode: "ug+rwx" + with_items: + - purgemediacache.sh + + - name: stop matrix docker docker_compose: project_src: /srv/matrix/ diff --git a/webserver/docker_matrix/templates/docker-compose.yml b/webserver/docker_matrix/templates/docker-compose.yml index 4858c15b..d8392105 100644 --- a/webserver/docker_matrix/templates/docker-compose.yml +++ b/webserver/docker_matrix/templates/docker-compose.yml @@ -68,6 +68,21 @@ services: - default - web + + purgemediacache: + + image: jsonfry/curl-cron:latest + restart: always + depends_on: + - synapse + volumes: + - /srv/matrix/purgemediacache.sh:/curl.sh + environment: + CRON_SCHEDULE: "0 7 * * *" + networks: + - default + + networks: web: external: true diff --git a/webserver/docker_matrix/templates/purgemediacache.sh b/webserver/docker_matrix/templates/purgemediacache.sh new file mode 100644 index 00000000..bd3f4f3e --- /dev/null +++ b/webserver/docker_matrix/templates/purgemediacache.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +echo "$(date) - Start" + +TS_NOW=$(date +%s) +DELAY=$((30*24*60*60)) +TS=$((TS_NOW-$DELAY)) + +curl -X POST --insecure --header "Authorization: Bearer {{ admin_access_token }}" https://{{ domain }}/_synapse/admin/v1/purge_media_cache?before_ts=$(($TS*1000)) + +echo "$(date) End" \ No newline at end of file -- GitLab