updated matrix-sms-bridge to 0.5.0
This commit is contained in:
parent
8153e25d2d
commit
4713e5d5f7
|
@ -1,11 +1,10 @@
|
||||||
# Setting up matrix-sms-bridge (optional)
|
# Setting up matrix-sms-bridge (optional)
|
||||||
|
|
||||||
The playbook can install and configure
|
The playbook can install and configure [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) for you.
|
||||||
[matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) for you.
|
|
||||||
|
|
||||||
See the project page to learn what it does and why it might be useful to you.
|
See the project page to learn what it does and why it might be useful to you.
|
||||||
|
|
||||||
First you need to ensure, that the bridge has unix read and write rights to your modem. On debian based distributions there is nothing to do. On others distributions you either add a group `dialout` to your host and assign it to your modem or you give the matrix user or group access to your modem.
|
** The bridge uses [android-sms-gateway-server](https://github.com/RebekkaMa/android-sms-gateway-server). You need to configure it first. **
|
||||||
|
|
||||||
To enable the bridge just use the following
|
To enable the bridge just use the following
|
||||||
playbook configuration:
|
playbook configuration:
|
||||||
|
@ -13,16 +12,23 @@ playbook configuration:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
matrix_sms_bridge_enabled: true
|
matrix_sms_bridge_enabled: true
|
||||||
matrix_sms_bridge_gammu_modem: "/dev/serial/by-id/myDeviceId"
|
|
||||||
# generate a secret passwort e.g. with pwgen -s 64 1
|
# (optional but recommended) a room id to a default room
|
||||||
matrix_sms_bridge_database_password: ""
|
|
||||||
# (optional) a room id to a default room
|
|
||||||
matrix_sms_bridge_default_room: ""
|
matrix_sms_bridge_default_room: ""
|
||||||
# (optional) gammu reset frequencies (see https://wammu.eu/docs/manual/smsd/config.html#option-ResetFrequency)
|
|
||||||
matrix_sms_bridge_gammu_reset_frequency: 3600
|
# (optional but recommended) configure your server location
|
||||||
matrix_sms_bridge_gammu_hard_reset_frequency: 0
|
matrix_sms_bridge_default_region: DE
|
||||||
# (optional) group with unix read and write rights to modem
|
matrix_sms_bridge_default_timezone: Europe/Berlin
|
||||||
matrix_sms_bridge_modem_group: 'dialout'
|
|
||||||
|
# Settings to connect to android-sms-gateway-server
|
||||||
|
matrix_sms_bridge_provider_android_baseurl: https://192.168.24.24:9090
|
||||||
|
matrix_sms_bridge_provider_android_username: admin
|
||||||
|
matrix_sms_bridge_provider_android_password: supeSecretPassword
|
||||||
|
|
||||||
|
# (optional) ff your android-sms-gateway-server uses a self signed vertificate, the bridge needs a "truststore". This can be the certificate itself.
|
||||||
|
matrix_sms_bridge_provider_android_truststore_local_path: android-sms-gateway-server.p12
|
||||||
|
matrix_sms_bridge_provider_android_truststore_password: 123
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,18 +3,11 @@
|
||||||
|
|
||||||
matrix_sms_bridge_enabled: true
|
matrix_sms_bridge_enabled: true
|
||||||
|
|
||||||
matrix_sms_bridge_docker_image: "docker.io/folivonet/matrix-sms-bridge:0.4.4.RELEASE"
|
matrix_sms_bridge_docker_image: "docker.io/folivonet/matrix-sms-bridge:0.5.0"
|
||||||
|
|
||||||
matrix_sms_bridge_base_path: "{{ matrix_base_data_path }}/matrix-sms-bridge"
|
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_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_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_appservice_token: ''
|
||||||
matrix_sms_bridge_homeserver_token: ''
|
matrix_sms_bridge_homeserver_token: ''
|
||||||
|
@ -40,11 +33,11 @@ matrix_sms_bridge_default_region: ''
|
||||||
matrix_sms_bridge_default_timezone: ''
|
matrix_sms_bridge_default_timezone: ''
|
||||||
matrix_sms_bridge_single_mode_enabled: false
|
matrix_sms_bridge_single_mode_enabled: false
|
||||||
|
|
||||||
matrix_sms_bridge_gammu_modem: ''
|
matrix_sms_bridge_provider_android_baseurl: ''
|
||||||
matrix_sms_bridge_modem_group: 'dialout'
|
matrix_sms_bridge_provider_android_username: ''
|
||||||
matrix_sms_bridge_gammu_reset_frequency: 0
|
matrix_sms_bridge_provider_android_password: ''
|
||||||
matrix_sms_bridge_gammu_hard_reset_frequency: 0
|
matrix_sms_bridge_provider_android_truststore_local_path: ''
|
||||||
matrix_sms_bridge_gammu_smsc: ''
|
matrix_sms_bridge_provider_android_truststore_password: ''
|
||||||
|
|
||||||
|
|
||||||
matrix_sms_bridge_configuration_yaml: |
|
matrix_sms_bridge_configuration_yaml: |
|
||||||
|
@ -61,13 +54,22 @@ matrix_sms_bridge_configuration_yaml: |
|
||||||
defaultTimeZone: "{{ matrix_sms_bridge_default_timezone }}"
|
defaultTimeZone: "{{ matrix_sms_bridge_default_timezone }}"
|
||||||
singleModeEnabled: "{{ matrix_sms_bridge_single_mode_enabled }}"
|
singleModeEnabled: "{{ matrix_sms_bridge_single_mode_enabled }}"
|
||||||
provider:
|
provider:
|
||||||
gammu:
|
android:
|
||||||
# (optional) default is disabled
|
# (optional) default is disabled
|
||||||
enabled: true
|
enabled: true
|
||||||
# (optional) Path to the Gammu-Inbox directory.
|
# The url to the android-sms-gateway-server
|
||||||
inboxPath: /data/spool/inbox
|
baseUrl: {{ matrix_sms_bridge_provider_android_baseurl }}
|
||||||
# (optional) Path to the directory, where to put processed messages.
|
# The username of the gateway
|
||||||
inboxProcessedPath: /data/spool/inbox_processed
|
username: {{ matrix_sms_bridge_provider_android_username }}
|
||||||
|
# The password of the gateway
|
||||||
|
password: {{ matrix_sms_bridge_provider_android_password }}
|
||||||
|
# (optional) if you use a self signed certificate, you can add the public key here
|
||||||
|
{% if matrix_sms_bridge_provider_android_truststore_path %}
|
||||||
|
trustStore:
|
||||||
|
path: /data/config/matrix-sms-gateway-server.p12
|
||||||
|
password: {{ matrix_sms_bridge_provider_android_truststore_password }}
|
||||||
|
type: PKCS12
|
||||||
|
{% endif %}
|
||||||
bot:
|
bot:
|
||||||
# The domain-part of matrix-ids. E. g. example.org when your userIds look like @unicorn:example.org
|
# The domain-part of matrix-ids. E. g. example.org when your userIds look like @unicorn:example.org
|
||||||
serverName: {{ matrix_sms_bridge_homserver_domain }}
|
serverName: {{ matrix_sms_bridge_homserver_domain }}
|
||||||
|
@ -104,34 +106,6 @@ matrix_sms_bridge_configuration_extension: "{{ matrix_sms_bridge_configuration_e
|
||||||
|
|
||||||
matrix_sms_bridge_configuration: "{{ matrix_sms_bridge_configuration_yaml|from_yaml|combine(matrix_sms_bridge_configuration_extension, recursive=True) }}"
|
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: |
|
matrix_sms_bridge_registration_yaml: |
|
||||||
id: sms
|
id: sms
|
||||||
as_token: "{{ matrix_sms_bridge_appservice_token }}"
|
as_token: "{{ matrix_sms_bridge_appservice_token }}"
|
||||||
|
|
|
@ -16,13 +16,6 @@
|
||||||
- "{{ matrix_sms_bridge_base_path }}"
|
- "{{ matrix_sms_bridge_base_path }}"
|
||||||
- "{{ matrix_sms_bridge_config_path }}"
|
- "{{ matrix_sms_bridge_config_path }}"
|
||||||
- "{{ matrix_sms_bridge_data_path }}"
|
- "{{ matrix_sms_bridge_data_path }}"
|
||||||
- "{{ matrix_sms_bridge_data_log_path }}"
|
|
||||||
- "{{ matrix_sms_bridge_data_spool_path }}"
|
|
||||||
- "{{ matrix_sms_bridge_data_spool_inbox_path }}"
|
|
||||||
- "{{ matrix_sms_bridge_data_spool_inbox_processed_path }}"
|
|
||||||
- "{{ matrix_sms_bridge_data_spool_outbox_path }}"
|
|
||||||
- "{{ matrix_sms_bridge_data_spool_sent_path }}"
|
|
||||||
- "{{ matrix_sms_bridge_data_spool_error_path }}"
|
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge application.yml installed
|
- name: Ensure matrix-sms-bridge application.yml installed
|
||||||
copy:
|
copy:
|
||||||
|
@ -40,13 +33,14 @@
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_username }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_user_groupname }}"
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge gammu-smsdrc installed
|
- name: Ensure android-sms-gateway-server cert installed
|
||||||
copy:
|
copy:
|
||||||
content: "{{ matrix_sms_bridge_gammu_configuration }}"
|
src: "{{ matrix_sms_bridge_provider_android_truststore_path }}"
|
||||||
dest: "{{ matrix_sms_bridge_config_path }}/gammu-smsdrc"
|
dest: "{{ matrix_sms_bridge_config_path }}/matrix-sms-gateway-server.p12"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_username }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_user_groupname }}"
|
||||||
|
when: matrix_sms_bridge_provider_android_truststore_path != ""
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge.service installed
|
- name: Ensure matrix-sms-bridge.service installed
|
||||||
template:
|
template:
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_sms_bridge_appservice_token"
|
- "matrix_sms_bridge_appservice_token"
|
||||||
- "matrix_sms_bridge_homeserver_token"
|
- "matrix_sms_bridge_homeserver_token"
|
||||||
- "matrix_sms_bridge_gammu_modem"
|
|
||||||
- "matrix_sms_bridge_default_region"
|
- "matrix_sms_bridge_default_region"
|
||||||
- "matrix_sms_bridge_default_timezone"
|
- "matrix_sms_bridge_default_timezone"
|
||||||
|
- "matrix_sms_bridge_provider_android_baseurl"
|
||||||
|
- "matrix_sms_bridge_provider_android_username"
|
||||||
|
- "matrix_sms_bridge_provider_android_password"
|
|
@ -1,36 +0,0 @@
|
||||||
#jinja2: lstrip_blocks: "True"
|
|
||||||
[Unit]
|
|
||||||
Description=Matrix sms bridge database
|
|
||||||
{% for service in matrix_sms_bridge_database_systemd_required_services_list %}
|
|
||||||
Requires={{ service }}
|
|
||||||
After={{ service }}
|
|
||||||
{% endfor %}
|
|
||||||
{% for service in matrix_sms_bridge_database_systemd_wanted_services_list %}
|
|
||||||
Wants={{ service }}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
ExecStartPre=-/usr/bin/docker kill matrix-sms-bridge-database
|
|
||||||
ExecStartPre=-/usr/bin/docker rm matrix-sms-bridge-database
|
|
||||||
|
|
||||||
# Intentional delay, so that the homeserver (we likely depend on) can manage to start.
|
|
||||||
ExecStartPre=/bin/sleep 5
|
|
||||||
|
|
||||||
ExecStart=/usr/bin/docker run --rm --name matrix-sms-bridge-database \
|
|
||||||
--log-driver=none \
|
|
||||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
|
||||||
--cap-drop=ALL \
|
|
||||||
--network={{ matrix_docker_network }} \
|
|
||||||
-v {{ matrix_sms_bridge_database_path }}:/data:z \
|
|
||||||
-e NEO4J_AUTH={{ matrix_sms_bridge_database_username }}/{{ matrix_sms_bridge_database_password }} \
|
|
||||||
{{ matrix_sms_bridge_database_docker_image }}
|
|
||||||
|
|
||||||
ExecStop=-/usr/bin/docker kill matrix-sms-bridge-database
|
|
||||||
ExecStop=-/usr/bin/docker rm matrix-sms-bridge-database
|
|
||||||
Restart=always
|
|
||||||
RestartSec=30
|
|
||||||
SyslogIdentifier=matrix-sms-bridge
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -20,7 +20,6 @@ ExecStartPre=/bin/sleep 5
|
||||||
ExecStart=/usr/bin/docker run --rm --name matrix-sms-bridge \
|
ExecStart=/usr/bin/docker run --rm --name matrix-sms-bridge \
|
||||||
--log-driver=none \
|
--log-driver=none \
|
||||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
||||||
--group-add {{ matrix_sms_bridge_modem_group }} \
|
|
||||||
--cap-drop=ALL \
|
--cap-drop=ALL \
|
||||||
--network={{ matrix_docker_network }} \
|
--network={{ matrix_docker_network }} \
|
||||||
{% if matrix_sms_bridge_container_http_host_bind_port %}
|
{% if matrix_sms_bridge_container_http_host_bind_port %}
|
||||||
|
@ -28,9 +27,6 @@ ExecStart=/usr/bin/docker run --rm --name matrix-sms-bridge \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
-v {{ matrix_sms_bridge_config_path }}:/config:z \
|
-v {{ matrix_sms_bridge_config_path }}:/config:z \
|
||||||
-v {{ matrix_sms_bridge_data_path }}:/data:z \
|
-v {{ matrix_sms_bridge_data_path }}:/data:z \
|
||||||
-v {{ matrix_sms_bridge_config_path }}/gammu-smsdrc:/etc/gammu-smsdrc:z \
|
|
||||||
--privileged \
|
|
||||||
-v /dev:/dev:slave \
|
|
||||||
{% for arg in matrix_sms_bridge_container_extra_arguments %}
|
{% for arg in matrix_sms_bridge_container_extra_arguments %}
|
||||||
{{ arg }} \
|
{{ arg }} \
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
Loading…
Reference in a new issue