51312b8250
As suggested in #63 (Github issue), splitting the playbook's logic into multiple roles will be beneficial for maintainability. This patch realizes this split. Still, some components affect others, so the roles are not really independent of one another. For example: - disabling mxisd (`matrix_mxisd_enabled: false`), causes Synapse and riot-web to reconfigure themselves with other (public) Identity servers. - enabling matrix-corporal (`matrix_corporal_enabled: true`) affects how reverse-proxying (by `matrix-nginx-proxy`) is done, in order to put matrix-corporal's gateway server in front of Synapse We may be able to move away from such dependencies in the future, at the expense of a more complicated manual configuration, but it's probably not worth sacrificing the convenience we have now. As part of this work, the way we do "start components" has been redone now to use a loop, as suggested in #65 (Github issue). This should make restarting faster and more reliable.
87 lines
3.2 KiB
Django/Jinja
87 lines
3.2 KiB
Django/Jinja
# Homeserver details.
|
|
homeserver:
|
|
# The address that this appservice can use to connect to the homeserver.
|
|
address: https://{{ hostname_matrix }}
|
|
# The domain of the homeserver (for MXIDs, etc).
|
|
domain: {{ hostname_identity }}
|
|
|
|
# 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: http://matrix-mautrix-whatsapp:8080
|
|
|
|
# The hostname and port where this appservice should listen.
|
|
hostname: 0.0.0.0
|
|
port: 8080
|
|
|
|
# Database config.
|
|
database:
|
|
# The database type. Only "sqlite3" is supported.
|
|
type: sqlite3
|
|
# The database URI. Usually file name. https://github.com/mattn/go-sqlite3#connection-string
|
|
uri: mautrix-whatsapp.db
|
|
# 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: remove
|
|
|
|
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
|
|
as_token: "This value is generated when generating the registration"
|
|
hs_token: "This value is generated when generating the registration"
|
|
|
|
# Bridge config. Currently unused.
|
|
bridge:
|
|
# {% raw %}
|
|
# protecting the go templates inside the raw section.
|
|
# 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)"
|
|
# {% endraw %}
|
|
|
|
# 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:
|
|
'{{ hostname_identity }}': user
|
|
|
|
# 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: {% raw %}"{{.Date}}-{{.Index}}.log"{% endraw %}
|
|
# 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
|