mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-11-07 21:58:02 +00:00
- Add CSP3 support for style/script: include -elem and -attr directives - Base (style-src, script-src) now unions elem/attr (CSP2/Safari fallback) - Respect explicit base disables (e.g. style-src.unsafe-inline: false) - Hashes only when 'unsafe-inline' absent in the final base tokens - Nginx: set CSP only for HTML/worker via header_filter_by_lua_block; drop for subresources - Remove per-location header_filter; keep body_filter only - Update app role flags to *-attr where appropriate; extend desktop CSS sources - Add comprehensive unit tests for union/explicit-disable/no-mirror-back Ref: https://chatgpt.com/share/68f87a0a-cebc-800f-bb3e-8c8ab4dee8ee
59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
docker:
|
|
services:
|
|
database:
|
|
enabled: true
|
|
synapse:
|
|
version: latest
|
|
image: matrixdotorg/synapse
|
|
name: matrix-synapse
|
|
backup:
|
|
no_stop_required: true
|
|
element:
|
|
version: latest
|
|
image: vectorim/element-web
|
|
name: matrix-element
|
|
volumes:
|
|
synapse: "matrix_synapse_data"
|
|
playbook_tags: "setup-all,start" # For the initial update use: install-all,ensure-matrix-users-created,start
|
|
server_name: "{{ PRIMARY_DOMAIN }}" # Adress for the account names etc.
|
|
setup: false # Set true in inventory file to execute the setup and initializing procedures
|
|
features:
|
|
matomo: false # Deactivated, because in html CSP restricts use
|
|
css: true
|
|
desktop: true
|
|
oidc: true # Deactivated OIDC due to this issue https://github.com/matrix-org/synapse/issues/10492
|
|
central_database: true
|
|
logout: true
|
|
server:
|
|
csp:
|
|
flags:
|
|
script-src-attr:
|
|
unsafe-eval: true
|
|
script-src-elem:
|
|
unsafe-inline: true
|
|
unsafe-eval: true
|
|
style-src-attr:
|
|
unsafe-inline: true
|
|
whitelist:
|
|
connect-src:
|
|
- "*"
|
|
script-src-elem:
|
|
- "element.{{ PRIMARY_DOMAIN }}"
|
|
- "https://cdn.jsdelivr.net"
|
|
domains:
|
|
canonical:
|
|
synapse: "matrix.{{ PRIMARY_DOMAIN }}"
|
|
element: "element.{{ PRIMARY_DOMAIN }}"
|
|
client_max_body_size: "15M"
|
|
|
|
plugins:
|
|
# You need to enable them in the inventory file
|
|
chatgpt: false
|
|
facebook: false
|
|
immesage: false
|
|
instagram: false
|
|
signal: false
|
|
slack: false
|
|
telegram: false
|
|
whatsapp: false
|