matrix-sms-bridge:

added docs, added seperate service for database, pr comments
This commit is contained in:
benkuly
2020-05-23 13:14:24 +02:00
parent 4913ca4bb2
commit 1ffa4a326c
9 changed files with 101 additions and 26 deletions

View File

@ -31,11 +31,13 @@ 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 matrix-appservice-discord.service depends on.
matrix_sms_bridge_systemd_required_services_list: ['docker.service']
# 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_database_systemd_required_services_list: ['docker.service']
# List of systemd services that matrix-appservice-discord.service wants
# List of systemd services that service wants
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_database_url: 'bolt://matrix-sms-bridge-database:7687'

View File

@ -66,7 +66,14 @@
mode: 0644
register: matrix_sms_bridge_systemd_service_result
- name: Ensure systemd reloaded after matrix-sms-bridge.service installation
- name: Ensure matrix-sms-bridge-database.service installed
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:
daemon_reload: yes
when: "matrix_sms_bridge_systemd_service_result.changed"
when: matrix_sms_bridge_systemd_service_result.changed or matrix_sms_bridge_database_systemd_service_result.changed

View File

@ -5,6 +5,11 @@
path: "{{ matrix_systemd_path }}/matrix-sms-bridge.service"
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
service:
name: matrix-sms-bridge
@ -12,13 +17,26 @@
daemon_reload: yes
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
file:
path: "{{ matrix_systemd_path }}/matrix-sms-bridge.service"
state: absent
when: "matrix_sms_bridge_service_stat.stat.exists"
- name: Ensure systemd reloaded after matrix-sms-bridge.service removal
- 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"
when: matrix_sms_bridge_service_stat.stat.exists or matrix_sms_bridge_database_service_stat.stat.exists

View File

@ -0,0 +1,36 @@
#jinja2: lstrip_blocks: "True"
[Unit]
Description=matrix-sms-bridge-database server
{% 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

View File

@ -13,20 +13,6 @@ Wants={{ service }}
Type=simple
ExecStartPre=-/usr/bin/docker kill matrix-sms-bridge
ExecStartPre=-/usr/bin/docker rm matrix-sms-bridge
ExecStartPre=-/usr/bin/docker kill matrix-sms-bridge-database
ExecStartPre=-/usr/bin/docker rm matrix-sms-bridge-database
ExecStartPre=/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 }} \
{% if matrix_sms_bridge_container_http_host_bind_port %}
-p {{ matrix_sms_bridge_container_http_host_bind_port }}:7687 \
{% endif %}
-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 }}
# Intentional delay, so that the homeserver (we likely depend on) can manage to start.
ExecStartPre=/bin/sleep 5
@ -41,7 +27,7 @@ ExecStart=/usr/bin/docker run --rm --name matrix-sms-bridge \
{% endif %}
-v {{ matrix_sms_bridge_config_path }}:/config:z \
-v {{ matrix_sms_bridge_data_path }}:/data:z \
--device {{ matrix_sms_bridge_gammu_modem }}:/dev/ttyModem
--device {{ matrix_sms_bridge_gammu_modem }}:/dev/ttyModem \
{% for arg in matrix_sms_bridge_container_extra_arguments %}
{{ arg }} \
{% endfor %}
@ -49,8 +35,6 @@ ExecStart=/usr/bin/docker run --rm --name matrix-sms-bridge \
ExecStop=-/usr/bin/docker kill matrix-sms-bridge
ExecStop=-/usr/bin/docker rm matrix-sms-bridge
ExecStop=-/usr/bin/docker kill matrix-sms-database
ExecStop=-/usr/bin/docker rm matrix-sms-database
Restart=always
RestartSec=30
SyslogIdentifier=matrix-sms-bridge