mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-10-26 13:00:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			170 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| #jinja2: lstrip_blocks: "True"
 | |
| # Homeserver details.
 | |
| homeserver:
 | |
|     # The address that this appservice can use to connect to the homeserver.
 | |
|     address: {{ matrix_mautrix_whatsapp_homeserver_address }}
 | |
|     # The domain of the homeserver (for MXIDs, etc).
 | |
|     domain: {{ matrix_mautrix_whatsapp_homeserver_domain }}
 | |
| # Application service host/registration related details.
 | |
| # Changing these values requires regeneration of the registration.
 | |
| 
 | |
| appservice:
 | |
|     # The address that the homeserver can use to connect to this appservice.
 | |
|     address: {{ matrix_mautrix_whatsapp_appservice_address }}
 | |
| 
 | |
|     # The hostname and port where this appservice should listen.
 | |
|     hostname: 0.0.0.0
 | |
|     port: 8080
 | |
| 
 | |
|     # Database config.
 | |
|     database:
 | |
|         # The database type. "sqlite3" and "postgres" are supported.
 | |
|         type: sqlite3
 | |
|         # The database URI.
 | |
|         #   SQLite: File name is enough. https://github.com/mattn/go-sqlite3#connection-string
 | |
|         #   Postgres: Connection string. For example, postgres://user:password@host/database
 | |
|         uri: mautrix-whatsapp.db
 | |
|         # Maximum number of connections. Mostly relevant for Postgres.
 | |
|         max_open_conns: 20
 | |
|         max_idle_conns: 2
 | |
| 
 | |
|     # Path to the Matrix room state store.
 | |
|     state_store_path: ./mx-state.json
 | |
| 
 | |
|     # The unique ID of this appservice.
 | |
|     id: whatsapp
 | |
|     # Appservice bot details.
 | |
|     bot:
 | |
|         # Username of the appservice bot.
 | |
|         username: whatsappbot
 | |
|         # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
 | |
|         # to leave display name/avatar as-is.
 | |
|         displayname: WhatsApp bridge bot
 | |
|         avatar: mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr
 | |
| 
 | |
|     # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
 | |
|     as_token: "{{ matrix_mautrix_whatsapp_appservice_token }}"
 | |
|     hs_token: "{{ matrix_mautrix_whatsapp_homeserver_token }}"
 | |
| 
 | |
| # Bridge config
 | |
| bridge:
 | |
|     # Localpart template of MXIDs for WhatsApp users.
 | |
|     # {{ '{{.}}' }} is replaced with the phone number of the WhatsApp user.
 | |
|     username_template: "{{ 'whatsapp_{{.}}' }}"
 | |
|     # Displayname template for WhatsApp users.
 | |
|     # {{ '{{.Notify'}}' }} - nickname set by the WhatsApp user
 | |
|     # {{ '{{.Jid}}' }}    - phone number (international format)
 | |
|     # The following variables are also available, but will cause problems on multi-user instances:
 | |
|     # {{ '{{.Name}}' }}   - display name from contact list
 | |
|     # {{ '{{.Short}}' }}  - short display name from contact list
 | |
|     displayname_template: "{{ '{{if .Notify}}{{.Notify}}{{else}}{{.Jid}}{{end}} (WA)' }}"
 | |
|     # WhatsApp connection timeout in seconds.
 | |
|     connection_timeout: 20
 | |
|     # Maximum number of times to retry connecting on connection error.
 | |
|     max_connection_attempts: 3
 | |
|     # Number of seconds to wait between connection attempts.
 | |
|     # Negative numbers are exponential backoff: -connection_retry_delay + 1 + 2^attempts
 | |
|     connection_retry_delay: -1
 | |
|     # Whether or not the bridge should send a notice to the user's management room when it retries connecting.
 | |
|     # If false, it will only report when it stops retrying.
 | |
|     report_connection_retry: true
 | |
|     # Maximum number of seconds to wait for chats to be sent at startup.
 | |
|     # If this is too low and you have lots of chats, it could cause backfilling to fail.
 | |
|     chat_list_wait: 30
 | |
|     # Maximum number of seconds to wait to sync portals before force unlocking message processing.
 | |
|     # If this is too low and you have lots of chats, it could cause backfilling to fail.
 | |
|     portal_sync_wait: 600
 | |
| 
 | |
|     # Whether or not to send call start/end notices to Matrix.
 | |
|     call_notices:
 | |
|         start: true
 | |
|         end: true
 | |
| 
 | |
|     # Number of chats to sync for new users.
 | |
|     initial_chat_sync_count: 10
 | |
|     # Number of old messages to fill when creating new portal rooms.
 | |
|     initial_history_fill_count: 20
 | |
|     # Maximum number of chats to sync when recovering from downtime.
 | |
|     # Set to -1 to sync all new chats during downtime.
 | |
|     recovery_chat_sync_limit: -1
 | |
|     # Whether or not to sync history when recovering from downtime.
 | |
|     recovery_history_backfill: true
 | |
|     # Maximum number of seconds since last message in chat to skip
 | |
|     # syncing the chat in any case. This setting will take priority
 | |
|     # over both recovery_chat_sync_limit and initial_chat_sync_count.
 | |
|     # Default is 3 days = 259200 seconds
 | |
|     sync_max_chat_age: 259200
 | |
| 
 | |
|     # Whether or not to sync with custom puppets to receive EDUs that
 | |
|     # are not normally sent to appservices.
 | |
|     sync_with_custom_puppets: true
 | |
|     # Shared secret for https://github.com/devture/matrix-synapse-shared-secret-auth
 | |
|     #
 | |
|     # If set, custom puppets will be enabled automatically for local users
 | |
|     # instead of users having to find an access token and run `login-matrix`
 | |
|     # manually.
 | |
|     login_shared_secret: {{ matrix_mautrix_whatsapp_login_shared_secret|to_json }}
 | |
| 
 | |
|     # Whether or not to invite own WhatsApp user's Matrix puppet into private
 | |
|     # chat portals when backfilling if needed.
 | |
|     # This always uses the default puppet instead of custom puppets due to
 | |
|     # rate limits and timestamp massaging.
 | |
|     invite_own_puppet_for_backfilling: true
 | |
|     # Whether or not to explicitly set the avatar and room name for private
 | |
|     # chat portal rooms. This can be useful if the previous field works fine,
 | |
|     # but causes room avatar/name bugs.
 | |
|     private_chat_portal_meta: false
 | |
| 
 | |
|     # Allow invite permission for user. User can invite any bots to room with whatsapp
 | |
|     # users (private chat and groups)
 | |
|     allow_user_invite: false
 | |
| 
 | |
|     # The prefix for commands. Only required in non-management rooms.
 | |
|     command_prefix: "!wa"
 | |
| 
 | |
|     # Permissions for using the bridge.
 | |
|     # Permitted values:
 | |
|     #     user - Access to use the bridge to chat with a WhatsApp account.
 | |
|     #    admin - User level and some additional administration tools
 | |
|     # Permitted keys:
 | |
|     #        * - All Matrix users
 | |
|     #   domain - All users on that homeserver
 | |
|     #     mxid - Specific user
 | |
|     permissions:
 | |
|         "{{ matrix_mautrix_whatsapp_homeserver_domain }}": user
 | |
| 
 | |
|     relaybot:
 | |
|         # Whether or not relaybot support is enabled.
 | |
|         enabled: false
 | |
|         # The management room for the bot. This is where all status notifications are posted and
 | |
|         # in this room, you can use `!wa <command>` instead of `!wa relaybot <command>`. Omitting
 | |
|         # the command prefix completely like in user management rooms is not possible.
 | |
|         management: '!foo:example.com'
 | |
|         # List of users to invite to all created rooms that include the relaybot.
 | |
|         invites: []
 | |
|         # The formats to use when sending messages to WhatsApp via the relaybot.
 | |
|         message_formats:
 | |
|             m.text: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: {{ '{{ .Message }}' }}"
 | |
|             m.notice: "<b>{{ '{{ .Sender.Displayname }}' }}</b>:: {{ '{{ .Message }}' }}"
 | |
|             m.emote: "* <b>{{ '{{ .Sender.Displayname }}' }}</b>: {{ '{{ .Message }}' }}"
 | |
|             m.file: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent a file"
 | |
|             m.image: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent an image"
 | |
|             m.audio: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent an audio file"
 | |
|             m.video: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent a video"
 | |
|             m.location: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent a location"
 | |
| # Logging config.
 | |
| logging:
 | |
|     # The directory for log files. Will be created if not found.
 | |
|     directory: ./logs
 | |
|     # Available variables: .Date for the file date and .Index for different log files on the same day.
 | |
|     file_name_format: "{{ '{{.Date}}-{{.Index}}.log' }}"
 | |
|     # Date format for file names in the Go time format: https://golang.org/pkg/time/#pkg-constants
 | |
|     file_date_format: "2006-01-02"
 | |
|     # Log file permissions.
 | |
|     file_mode: 0600
 | |
|     # Timestamp format for log entries in the Go time format.
 | |
|     timestamp_format: "Jan _2, 2006 15:04:05"
 | |
|     # Minimum severity for log messages.
 | |
|     # Options: debug, info, warn, error, fatal
 | |
|     print_level: debug
 |