{% if var_synaspe_database_kind == 'sqlite' %} database: name: sqlite3 args: database: {{var_synaspe_database_sqlite_path}} {% endif %} {% if var_synaspe_database_kind == 'postgresql' %} database: name: psycopg2 args: host: {{var_synapse_database_postgresql_host}} port: {{var_synapse_database_postgresql_port}} database: "{{var_synapse_database_postgresql_schema}}" user: "{{var_synapse_database_postgresql_username}}" password: "{{var_synapse_database_postgresql_password}}" cp_min: 5 cp_max: 10 {% endif %} no_tls: True tls_fingerprints: [] pid_file: "/var/run/matrix-synapse.pid" soft_file_limit: 0 web_client_location: {{var_synapse_element_url}} public_baseurl: {{var_synapse_scheme}}://{{var_synapse_domain}}/ listeners: - port: 8008 tls: false bind_addresses: - '::1' - '127.0.0.1' type: http tls: false x_forwarded: true resources: - names: [client] compress: true - names: [federation] compress: false federation_domain_whitelist: {{var_synapse_federation_whitelist}} serve_server_wellknown: true event_cache_size: "10K" log_config: "/etc/matrix-synapse/log.yaml" media_store_path: "/var/lib/matrix-synapse/media" uploads_path: "/var/lib/matrix-synapse/uploads" max_upload_size: "100M" max_image_pixels: "32M" dynamic_thumbnails: false thumbnail_sizes: - width: 32 height: 32 method: crop - width: 96 height: 96 method: crop - width: 320 height: 240 method: scale - width: 640 height: 480 method: scale - width: 800 height: 600 method: scale url_preview_enabled: false max_spider_size: "10M" enable_registration_captcha: false recaptcha_siteverify_api: "https://www.google.com/recaptcha/api/siteverify" registration_shared_secret: "{{var_synapse_registration_shared_secret}}" {% if var_synapse_oidc_enable %} enable_registration: false enable_registration_without_verification: false {% else %} enable_registration: true enable_registration_without_verification: true {% endif %} oidc_config: user_mapping_provider: config: # NOT an Ansible variable localpart_template: "{{"{{"}} user.preferred_username {{"}}"}}" {% if var_synapse_oidc_enable %} oidc_providers: - idp_id: "{{var_synapse_oidc_provider_id}}" idp_name: "{{var_synapse_oidc_provider_name}}" # idp_icon: "mxc://authelia.com/cKlrTPsGvlpKxAYeHWJsdVHI" discover: true issuer: "{{var_synapse_oidc_issuer_url}}" client_id: "{{var_synapse_oidc_client_id}}" client_secret: "{{var_synapse_oidc_client_secret}}" scopes: ["openid", "profile", "email"] allow_existing_users: true user_mapping_provider: config: subject_claim: "sub" localpart_template: "{{"{{"}} user.preferred_username {{"}}"}}" display_name_template: "{{"{{"}} user.name {{"}}"}}" email_template: "{{"{{"}} user.email {{"}}"}}" {% endif %} account_validity: bcrypt_rounds: 12 allow_guest_access: false trusted_third_party_id_servers: - matrix.org - vector.im - riot.im enable_metrics: false app_service_config_files: # - "/opt/mautrix-telegram/python-venv/registration.yaml" # - "/opt/mautrix-signal/python-venv/registration.yaml" # - "/opt/matrix-irc-bridge/appservice-registration-irc.yaml" expire_access_token: false signing_key_path: "/etc/matrix-synapse/homeserver.signing.key" old_signing_keys: {} key_refresh_interval: "1d" trusted_key_servers: - server_name: "matrix.org" saml2_config: user_mapping_provider: config: password_config: enabled: true policy: enabled: {{var_synapse_password_strict_policy}} email: smtp_host: "{{var_synapse_smtp_host}}" smtp_port: {{var_synapse_smtp_port}} smtp_user: "{{var_synapse_smtp_username}}" smtp_pass: "{{var_synapse_smtp_password}}" require_transport_security: true notif_from: "%(app)s | {{var_synapse_title}}" enable_notifs: true notif_for_new_users: false subjects: password_reset: "[%(server_name)s] Passwort zurücksetzen" email_validation: "[%(server_name)s] Nutzer-Konto-Freischaltung" spam_checker: enable_group_creation: true templates: custom_templates_directory: "/etc/matrix-synapse/templates"