commit
8b01cb5103
13
CHANGELOG.md
13
CHANGELOG.md
|
@ -1,3 +1,16 @@
|
||||||
|
# 2020-11-13
|
||||||
|
|
||||||
|
## Breaking change matrix-sms-bridge
|
||||||
|
|
||||||
|
The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer.
|
||||||
|
|
||||||
|
1. Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`
|
||||||
|
2. Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`
|
||||||
|
2. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`
|
||||||
|
3. Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished.
|
||||||
|
4. Remove the var from the first step.
|
||||||
|
5. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`.
|
||||||
|
|
||||||
# 2020-11-10
|
# 2020-11-10
|
||||||
|
|
||||||
## Dynamic DNS support
|
## Dynamic DNS support
|
||||||
|
|
|
@ -3,9 +3,7 @@
|
||||||
|
|
||||||
matrix_sms_bridge_enabled: true
|
matrix_sms_bridge_enabled: true
|
||||||
|
|
||||||
matrix_sms_bridge_docker_image: "folivonet/matrix-sms-bridge:0.3.2.RELEASE"
|
matrix_sms_bridge_docker_image: "folivonet/matrix-sms-bridge:0.4.1.RELEASE"
|
||||||
matrix_sms_bridge_database_docker_image: "neo4j:latest"
|
|
||||||
matrix_sms_bridge_database_docker_image_force_pull: "{{ matrix_sms_bridge_docker_image.endswith(':latest') }}"
|
|
||||||
|
|
||||||
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"
|
||||||
|
@ -17,29 +15,22 @@ matrix_sms_bridge_data_spool_inbox_processed_path: "{{ matrix_base_data_path }}/
|
||||||
matrix_sms_bridge_data_spool_outbox_path: "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool/outbox"
|
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_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_data_spool_error_path: "{{ matrix_base_data_path }}/matrix-sms-bridge/data/spool/error"
|
||||||
matrix_sms_bridge_database_path: "{{ matrix_base_data_path }}/matrix-sms-bridge/database"
|
|
||||||
|
|
||||||
matrix_sms_bridge_appservice_token: ''
|
matrix_sms_bridge_appservice_token: ''
|
||||||
matrix_sms_bridge_homeserver_token: ''
|
matrix_sms_bridge_homeserver_token: ''
|
||||||
|
|
||||||
matrix_sms_bridge_database_username: 'neo4j'
|
|
||||||
matrix_sms_bridge_database_password: ''
|
|
||||||
|
|
||||||
matrix_sms_bridge_container_http_host_bind_port: ''
|
matrix_sms_bridge_container_http_host_bind_port: ''
|
||||||
|
|
||||||
# A list of extra arguments to pass to the container
|
# A list of extra arguments to pass to the container
|
||||||
matrix_sms_bridge_container_extra_arguments: []
|
matrix_sms_bridge_container_extra_arguments: []
|
||||||
|
|
||||||
# List of systemd services that service depends on.
|
# List of systemd services that service depends on.
|
||||||
matrix_sms_bridge_systemd_required_services_list: ['docker.service','matrix-sms-bridge-database.service']
|
matrix_sms_bridge_systemd_required_services_list: ['docker.service']
|
||||||
matrix_sms_bridge_database_systemd_required_services_list: ['docker.service']
|
|
||||||
|
|
||||||
# List of systemd services that service wants
|
# List of systemd services that service wants
|
||||||
matrix_sms_bridge_systemd_wanted_services_list: []
|
matrix_sms_bridge_systemd_wanted_services_list: []
|
||||||
matrix_sms_bridge_database_systemd_wanted_services_list: []
|
|
||||||
|
|
||||||
matrix_sms_bridge_appservice_url: 'http://matrix-sms-bridge:8080'
|
matrix_sms_bridge_appservice_url: 'http://matrix-sms-bridge:8080'
|
||||||
matrix_sms_bridge_database_url: 'bolt://matrix-sms-bridge-database:7687'
|
|
||||||
matrix_sms_bridge_homeserver_hostname: 'matrix-synapse'
|
matrix_sms_bridge_homeserver_hostname: 'matrix-synapse'
|
||||||
matrix_sms_bridge_homeserver_port: '8008'
|
matrix_sms_bridge_homeserver_port: '8008'
|
||||||
|
|
||||||
|
@ -47,25 +38,19 @@ matrix_sms_bridge_homserver_domain: "{{ matrix_domain }}"
|
||||||
matrix_sms_bridge_default_room: ''
|
matrix_sms_bridge_default_room: ''
|
||||||
matrix_sms_bridge_default_region: ''
|
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_gammu_modem: ''
|
matrix_sms_bridge_gammu_modem: ''
|
||||||
matrix_sms_bridge_modem_group: 'dialout'
|
matrix_sms_bridge_modem_group: 'dialout'
|
||||||
matrix_sms_bridge_gammu_reset_frequency: 0
|
matrix_sms_bridge_gammu_reset_frequency: 0
|
||||||
matrix_sms_bridge_gammu_hard_reset_frequency: 0
|
matrix_sms_bridge_gammu_hard_reset_frequency: 0
|
||||||
|
matrix_sms_bridge_gammu_smsc: ''
|
||||||
|
|
||||||
|
|
||||||
matrix_sms_bridge_configuration_yaml: |
|
matrix_sms_bridge_configuration_yaml: |
|
||||||
#jinja2: lstrip_blocks: "True"
|
#jinja2: lstrip_blocks: "True"
|
||||||
|
|
||||||
# Database connection
|
# Database connection
|
||||||
org:
|
|
||||||
neo4j:
|
|
||||||
driver:
|
|
||||||
uri: {{ matrix_sms_bridge_database_url }}
|
|
||||||
authentication:
|
|
||||||
username: {{ matrix_sms_bridge_database_username }}
|
|
||||||
password: {{ matrix_sms_bridge_database_password }}
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
bridge:
|
bridge:
|
||||||
sms:
|
sms:
|
||||||
|
@ -74,6 +59,7 @@ matrix_sms_bridge_configuration_yaml: |
|
||||||
defaultRoomId: "{{ matrix_sms_bridge_default_room }}"
|
defaultRoomId: "{{ matrix_sms_bridge_default_room }}"
|
||||||
defaultRegion: "{{ matrix_sms_bridge_default_region }}"
|
defaultRegion: "{{ matrix_sms_bridge_default_region }}"
|
||||||
defaultTimeZone: "{{ matrix_sms_bridge_default_timezone }}"
|
defaultTimeZone: "{{ matrix_sms_bridge_default_timezone }}"
|
||||||
|
singleModeEnabled: "{{ matrix_sms_bridge_single_mode_enabled }}"
|
||||||
provider:
|
provider:
|
||||||
gammu:
|
gammu:
|
||||||
# (optional) default is disabled
|
# (optional) default is disabled
|
||||||
|
@ -85,6 +71,12 @@ matrix_sms_bridge_configuration_yaml: |
|
||||||
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 }}
|
||||||
|
migration:
|
||||||
|
url: "jdbc:h2:file:/data/database/db"
|
||||||
|
username: sa
|
||||||
|
database:
|
||||||
|
url: "r2dbc:h2:file:////data/database/db"
|
||||||
|
username: sa
|
||||||
client:
|
client:
|
||||||
homeServer:
|
homeServer:
|
||||||
# The hostname of your Homeserver.
|
# The hostname of your Homeserver.
|
||||||
|
@ -128,6 +120,9 @@ matrix_sms_bridge_gammu_configuration: |
|
||||||
InboxFormat = detail
|
InboxFormat = detail
|
||||||
OutboxFormat = detail
|
OutboxFormat = detail
|
||||||
TransmitFormat = auto
|
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 }}
|
ResetFrequency = {{ matrix_sms_bridge_gammu_reset_frequency }}
|
||||||
HardResetFrequency = {{ matrix_sms_bridge_gammu_hard_reset_frequency }}
|
HardResetFrequency = {{ matrix_sms_bridge_gammu_hard_reset_frequency }}
|
||||||
debugLevel = 1
|
debugLevel = 1
|
||||||
|
@ -145,6 +140,9 @@ matrix_sms_bridge_registration_yaml: |
|
||||||
users:
|
users:
|
||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@sms_.+:{{ matrix_sms_bridge_homserver_domain|regex_escape }}$'
|
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 }}
|
url: {{ matrix_sms_bridge_appservice_url }}
|
||||||
sender_localpart: smsbot
|
sender_localpart: smsbot
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
when: "matrix_sms_bridge_enabled and matrix_synapse_role_executed|default(False)"
|
when: "matrix_sms_bridge_enabled and matrix_synapse_role_executed|default(False)"
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-sms-bridge','matrix-sms-bridge-database'] }}"
|
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-sms-bridge'] }}"
|
||||||
when: matrix_sms_bridge_enabled|bool
|
when: matrix_sms_bridge_enabled|bool
|
||||||
|
|
||||||
# If the matrix-synapse role is not used, these variables may not exist.
|
# If the matrix-synapse role is not used, these variables may not exist.
|
||||||
|
|
|
@ -5,14 +5,6 @@
|
||||||
name: "{{ matrix_sms_bridge_docker_image }}"
|
name: "{{ matrix_sms_bridge_docker_image }}"
|
||||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge databse image is pulled
|
|
||||||
docker_image:
|
|
||||||
name: "{{ matrix_sms_bridge_database_docker_image }}"
|
|
||||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
|
||||||
force_source: "{{ matrix_sms_bridge_database_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
|
||||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_sms_bridge_database_docker_image_force_pull }}"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge paths exist
|
- name: Ensure matrix-sms-bridge paths exist
|
||||||
file:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
|
@ -31,7 +23,6 @@
|
||||||
- "{{ matrix_sms_bridge_data_spool_outbox_path }}"
|
- "{{ matrix_sms_bridge_data_spool_outbox_path }}"
|
||||||
- "{{ matrix_sms_bridge_data_spool_sent_path }}"
|
- "{{ matrix_sms_bridge_data_spool_sent_path }}"
|
||||||
- "{{ matrix_sms_bridge_data_spool_error_path }}"
|
- "{{ matrix_sms_bridge_data_spool_error_path }}"
|
||||||
- "{{ matrix_sms_bridge_database_path }}"
|
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge application.yml installed
|
- name: Ensure matrix-sms-bridge application.yml installed
|
||||||
copy:
|
copy:
|
||||||
|
@ -64,14 +55,7 @@
|
||||||
mode: 0644
|
mode: 0644
|
||||||
register: matrix_sms_bridge_systemd_service_result
|
register: matrix_sms_bridge_systemd_service_result
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge-database.service installed
|
- name: Ensure systemd reloaded after matrix-sms-bridge.service installation
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/systemd/matrix-sms-bridge-database.service.j2"
|
|
||||||
dest: "{{ matrix_systemd_path }}/matrix-sms-bridge-database.service"
|
|
||||||
mode: 0644
|
|
||||||
register: matrix_sms_bridge_database_systemd_service_result
|
|
||||||
|
|
||||||
- name: Ensure systemd reloaded after matrix-sms-bridge.service or matrix-sms-bridge-database.service installation
|
|
||||||
service:
|
service:
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
when: matrix_sms_bridge_systemd_service_result.changed or matrix_sms_bridge_database_systemd_service_result.changed
|
when: matrix_sms_bridge_systemd_service_result.changed
|
|
@ -5,11 +5,6 @@
|
||||||
path: "{{ matrix_systemd_path }}/matrix-sms-bridge.service"
|
path: "{{ matrix_systemd_path }}/matrix-sms-bridge.service"
|
||||||
register: matrix_sms_bridge_service_stat
|
register: matrix_sms_bridge_service_stat
|
||||||
|
|
||||||
- name: Check existence of matrix-sms-bridge-database service
|
|
||||||
stat:
|
|
||||||
path: "{{ matrix_systemd_path }}/matrix-sms-bridge-database.service"
|
|
||||||
register: matrix_sms_bridge_database_service_stat
|
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge is stopped
|
- name: Ensure matrix-sms-bridge is stopped
|
||||||
service:
|
service:
|
||||||
name: matrix-sms-bridge
|
name: matrix-sms-bridge
|
||||||
|
@ -17,26 +12,8 @@
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
when: "matrix_sms_bridge_service_stat.stat.exists"
|
when: "matrix_sms_bridge_service_stat.stat.exists"
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge-database is stopped
|
|
||||||
service:
|
|
||||||
name: matrix-sms-bridge-database
|
|
||||||
state: stopped
|
|
||||||
daemon_reload: yes
|
|
||||||
when: "matrix_sms_bridge_database_service_stat.stat.exists"
|
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge.service doesn't exist
|
- name: Ensure matrix-sms-bridge.service doesn't exist
|
||||||
file:
|
file:
|
||||||
path: "{{ matrix_systemd_path }}/matrix-sms-bridge.service"
|
path: "{{ matrix_systemd_path }}/matrix-sms-bridge.service"
|
||||||
state: absent
|
state: absent
|
||||||
when: "matrix_sms_bridge_service_stat.stat.exists"
|
when: "matrix_sms_bridge_service_stat.stat.exists"
|
||||||
|
|
||||||
- name: Ensure matrix-sms-bridge-database.service doesn't exist
|
|
||||||
file:
|
|
||||||
path: "{{ matrix_systemd_path }}/matrix-sms-bridge-database.service"
|
|
||||||
state: absent
|
|
||||||
when: "matrix_sms_bridge_database_service_stat.stat.exists"
|
|
||||||
|
|
||||||
- name: Ensure systemd reloaded after matrix-sms-bridge.service or matrix-sms-bridge-database.service removal
|
|
||||||
service:
|
|
||||||
daemon_reload: yes
|
|
||||||
when: matrix_sms_bridge_service_stat.stat.exists or matrix_sms_bridge_database_service_stat.stat.exists
|
|
|
@ -8,7 +8,6 @@
|
||||||
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_database_password"
|
|
||||||
- "matrix_sms_bridge_gammu_modem"
|
- "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"
|
Loading…
Reference in a new issue