Implemented flexible upload limits for wordpress and matrix :)

This commit is contained in:
Kevin Veen-Birkenbach 2025-07-26 11:22:01 +02:00
parent f9f76892af
commit a9e7ed3605
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
7 changed files with 31 additions and 4 deletions

View File

@ -0,0 +1,13 @@
location {{ location_upload }} {
proxy_pass http://127.0.0.1:{{ http_port }};
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size {{ client_max_body_size }};
proxy_buffering off;
proxy_request_buffering off;
proxy_read_timeout 120s;
proxy_connect_timeout 120s;
proxy_send_timeout 120s;
}

View File

@ -39,6 +39,7 @@ csp:
script-src-elem: script-src-elem:
- "element.{{ primary_domain }}" - "element.{{ primary_domain }}"
- "https://cdn.jsdelivr.net" - "https://cdn.jsdelivr.net"
plugins: plugins:
# You need to enable them in the inventory file # You need to enable them in the inventory file
chatgpt: false chatgpt: false
@ -50,6 +51,8 @@ plugins:
telegram: false telegram: false
whatsapp: false whatsapp: false
client_max_body_size: "15M"
domains: domains:
canonical: canonical:
synapse: "matrix.{{ primary_domain }}" synapse: "matrix.{{ primary_domain }}"

View File

@ -15,4 +15,6 @@ server {
{% include 'roles/srv-web-7-7-inj-compose/templates/server.conf.j2'%} {% include 'roles/srv-web-7-7-inj-compose/templates/server.conf.j2'%}
{% include 'roles/srv-proxy-7-4-core/templates/location/html.conf.j2' %} {% include 'roles/srv-proxy-7-4-core/templates/location/html.conf.j2' %}
{% include 'roles/srv-proxy-7-4-core/templates/location/upload.conf.j2' %}
} }

View File

@ -1,5 +1,6 @@
server_name: "{{applications | get_app_conf(application_id, 'server_name', True)}}" server_name: "{{applications | get_app_conf(application_id, 'server_name', True)}}"
pid_file: /data/homeserver.pid pid_file: /data/homeserver.pid
max_upload_size: {{ client_max_body_size }}
listeners: listeners:
- port: 8008 - port: 8008
tls: false tls: false

View File

@ -1,8 +1,10 @@
--- ---
# General
application_id: "web-app-matrix" application_id: "web-app-matrix"
database_type: "postgres" database_type: "postgres"
registration_file_folder: "/data/" registration_file_folder: "/data/"
well_known_directory: "{{nginx.directories.data.well_known}}/matrix/"
# Matrix specific
matrix_synapse_version: "{{ applications | get_app_conf(application_id, 'docker.services.synapse.version', True) }}" matrix_synapse_version: "{{ applications | get_app_conf(application_id, 'docker.services.synapse.version', True) }}"
matrix_synapse_image: "{{ applications | get_app_conf(application_id, 'docker.services.synapse.image', True) }}" matrix_synapse_image: "{{ applications | get_app_conf(application_id, 'docker.services.synapse.image', True) }}"
matrix_synapse_name: "{{ applications | get_app_conf(application_id, 'docker.services.synapse.name', True) }}" matrix_synapse_name: "{{ applications | get_app_conf(application_id, 'docker.services.synapse.name', True) }}"
@ -10,4 +12,9 @@ matrix_synapse_data: "{{ applications | get_app_conf(application_id, 'docke
matrix_element_version: "{{ applications | get_app_conf(application_id, 'docker.services.element.version', True) }}" matrix_element_version: "{{ applications | get_app_conf(application_id, 'docker.services.element.version', True) }}"
matrix_element_image: "{{ applications | get_app_conf(application_id, 'docker.services.element.image', True) }}" matrix_element_image: "{{ applications | get_app_conf(application_id, 'docker.services.element.image', True) }}"
matrix_element_name: "{{ applications | get_app_conf(application_id, 'docker.services.element.name', True) }}" matrix_element_name: "{{ applications | get_app_conf(application_id, 'docker.services.element.name', True) }}"
matrix_project: "{{application_id | get_entity_name }}" matrix_project: "{{ application_id | get_entity_name }}"
# Webserver
well_known_directory: "{{nginx.directories.data.well_known}}/matrix/"
location_upload: "~ ^/_matrix/media/v3/"
client_max_body_size: "{{ applications | get_app_conf(application_id, 'client_max_body_size') }}"

View File

@ -1,4 +1,5 @@
title: "Blog" # Wordpress titel title: "Blog" # Wordpress titel
max_upload_size: "15M" # Low default upload size, because you should use Peertube for Videos and Funkwhale for Audio files
plugins: plugins:
wp-discourse: wp-discourse:
enabled: "{{ 'web-app-discourse' in group_names | lower }}" enabled: "{{ 'web-app-discourse' in group_names | lower }}"

View File

@ -1,7 +1,7 @@
application_id: "web-app-wordpress" application_id: "web-app-wordpress"
database_type: "mariadb" database_type: "mariadb"
host_msmtp_conf: "{{docker_compose.directories.config}}msmtprc.conf" host_msmtp_conf: "{{docker_compose.directories.config}}msmtprc.conf"
wordpress_max_upload_size: "64M" wordpress_max_upload_size: "{{ applications | get_app_conf(application_id, 'max_upload_size') }}"
wordpress_custom_image: "wordpress_custom" wordpress_custom_image: "wordpress_custom"
wordpress_docker_html_path: "/var/www/html" wordpress_docker_html_path: "/var/www/html"
wordpress_version: "{{ applications | get_app_conf(application_id, 'docker.services.wordpress.version', True) }}" wordpress_version: "{{ applications | get_app_conf(application_id, 'docker.services.wordpress.version', True) }}"