# matrix-sms-bridge is a Matrix <-> SMS bridge
# See: https://github.com/benkuly/matrix-sms-bridge
matrix_sms_bridge_enabled : true
matrix_sms_bridge_docker_image : "docker.io/folivonet/matrix-sms-bridge:0.4.2.RELEASE"
matrix_sms_bridge_base_path : "{{ matrix_base_data_path }}/matrix-sms-bridge"
matrix_sms_bridge_config_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/config"
matrix_sms_bridge_data_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data"
matrix_sms_bridge_data_log_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data/log"
matrix_sms_bridge_data_spool_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool"
matrix_sms_bridge_data_spool_inbox_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool/inbox"
matrix_sms_bridge_data_spool_inbox_processed_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool/inbox_processed"
matrix_sms_bridge_data_spool_outbox_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool/outbox"
matrix_sms_bridge_data_spool_sent_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool/sent"
matrix_sms_bridge_data_spool_error_path : "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool/error"
matrix_sms_bridge_appservice_token : ''
matrix_sms_bridge_homeserver_token : ''
matrix_sms_bridge_container_http_host_bind_port : ''
# A list of extra arguments to pass to the container
matrix_sms_bridge_container_extra_arguments : [ ]
# List of systemd services that service depends on.
matrix_sms_bridge_systemd_required_services_list : [ 'docker.service' ]
# List of systemd services that service wants
matrix_sms_bridge_systemd_wanted_services_list : [ ]
matrix_sms_bridge_appservice_url : 'http://matrix-sms-bridge:8080'
matrix_sms_bridge_homeserver_hostname : 'matrix-synapse'
matrix_sms_bridge_homeserver_port : '8008'
matrix_sms_bridge_homserver_domain : "{{ matrix_domain }}"
matrix_sms_bridge_default_room : ''
matrix_sms_bridge_default_region : ''
matrix_sms_bridge_default_timezone : ''
matrix_sms_bridge_single_mode_enabled : false
matrix_sms_bridge_gammu_modem : ''
matrix_sms_bridge_modem_group : 'dialout'
matrix_sms_bridge_gammu_reset_frequency : 0
matrix_sms_bridge_gammu_hard_reset_frequency : 0
matrix_sms_bridge_gammu_smsc : ''
matrix_sms_bridge_configuration_yaml : |
#jinja2: lstrip_blocks: "True"
# Database connection
matrix :
bridge :
sms :
# (optional) SMS messages without a valid token a routed to this room.
# Note that you must invite @smsbot:yourHomeServer to this room.
defaultRoomId : "{{ matrix_sms_bridge_default_room }}"
defaultRegion : "{{ matrix_sms_bridge_default_region }}"
defaultTimeZone : "{{ matrix_sms_bridge_default_timezone }}"
singleModeEnabled : "{{ matrix_sms_bridge_single_mode_enabled }}"
provider :
gammu :
# (optional) default is disabled
enabled : true
# (optional) Path to the Gammu-Inbox directory.
inboxPath : /data/spool/inbox
# (optional) Path to the directory, where to put processed messages.
inboxProcessedPath : /data/spool/inbox_processed
bot :
# The domain-part of matrix-ids. E. g. example.org when your userIds look like @unicorn:example.org
serverName : {{ matrix_sms_bridge_homserver_domain }}
migration :
url : "jdbc:h2:file:/data/database/db"
username : sa
database :
url : "r2dbc:h2:file:////data/database/db"
username : sa
client :
homeServer :
# The hostname of your Homeserver.
hostname : {{ matrix_sms_bridge_homeserver_hostname }}
# (optional) The port of your Homeserver. Default is 443.
port : {{ matrix_sms_bridge_homeserver_port }}
# (optional) Use http or https. Default is true (so uses https).
secure : false
# The token to authenticate against the Homeserver.
token : {{ matrix_sms_bridge_appservice_token }}
appservice :
# A unique token for Homeservers to use to authenticate requests to this application service.
hsToken : {{ matrix_sms_bridge_homeserver_token }}
matrix_sms_bridge_configuration_extension_yaml : |
# Your custom YAML configuration goes here.
# This configuration extends the default starting configuration (`matrix_sms_bridge_configuration_yaml`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_sms_bridge_configuration_yaml`.
matrix_sms_bridge_configuration_extension : "{{ matrix_sms_bridge_configuration_extension_yaml|from_yaml if matrix_sms_bridge_configuration_extension_yaml|from_yaml is mapping else {} }}"
matrix_sms_bridge_configuration : "{{ matrix_sms_bridge_configuration_yaml|from_yaml|combine(matrix_sms_bridge_configuration_extension, recursive=True) }}"
matrix_sms_bridge_gammu_configuration : |
[ gammu]
Device = {{ matrix_sms_bridge_gammu_modem }}
LogFile = /data/log/gammu.log
debugLevel = 1
[ smsd]
Service = files
LoopSleep = 2
InboxPath = /data/spool/inbox/
OutboxPath = /data/spool/outbox/
SentSMSPath = /data/spool/sent/
ErrorSMSPath = /data/spool/error/
InboxFormat = detail
OutboxFormat = detail
TransmitFormat = auto
{% if matrix_sms_bridge_gammu_smsc is defined and matrix_sms_bridge_gammu_smsc|length %}
SMSC = {{ matrix_sms_bridge_gammu_smsc }}
{% endif %}
ResetFrequency = {{ matrix_sms_bridge_gammu_reset_frequency }}
HardResetFrequency = {{ matrix_sms_bridge_gammu_hard_reset_frequency }}
debugLevel = 1
LogFile = /data/log/smsd.log
DeliveryReport = no
HangupCalls = 1
CheckBattery = 0
matrix_sms_bridge_registration_yaml : |
id : sms
as_token : "{{ matrix_sms_bridge_appservice_token }}"
hs_token : "{{ matrix_sms_bridge_homeserver_token }}"
namespaces :
users :
- exclusive : true
regex : '^@sms_.+:{{ matrix_sms_bridge_homserver_domain|regex_escape }}$'
aliases :
- exclusive : true
regex : '^#sms_.+:{{ matrix_sms_bridge_homserver_domain|regex_escape }}$'
url : {{ matrix_sms_bridge_appservice_url }}
sender_localpart : smsbot
rate_limited : false
matrix_sms_bridge_registration : "{{ matrix_sms_bridge_registration_yaml|from_yaml }}"