c4a05b760a
If they do, our next playbook runs would simply revert it and report "changed" for that task. There's no benefit to letting the bridge spew a new config file. This does not apply to the mautrix whatsapp bridge, because that one is written in Go (not Python) and takes different flags. There's no equivalent flag there.
57 lines
2.4 KiB
Django/Jinja
57 lines
2.4 KiB
Django/Jinja
#jinja2: lstrip_blocks: "True"
|
|
[Unit]
|
|
Description=Matrix Mautrix Facebook bridge
|
|
{% for service in matrix_mautrix_facebook_systemd_required_services_list %}
|
|
Requires={{ service }}
|
|
After={{ service }}
|
|
{% endfor %}
|
|
{% for service in matrix_mautrix_facebook_systemd_wanted_services_list %}
|
|
Wants={{ service }}
|
|
{% endfor %}
|
|
DefaultDependencies=no
|
|
|
|
[Service]
|
|
Type=simple
|
|
Environment="HOME={{ matrix_systemd_unit_home_path }}"
|
|
ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-facebook 2>/dev/null'
|
|
ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-facebook 2>/dev/null'
|
|
|
|
# This bridge uses another mechanism for migrations now (migrations happen automatically during regular startup),
|
|
# so going forward, running this alembic stuff will not necessary.
|
|
# People who are upgrading from an older version of the bridge should go through this migration
|
|
# first though, so we're keeping it around for now.
|
|
ExecStartPre={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-facebook-db \
|
|
--log-driver=none \
|
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
|
--cap-drop=ALL \
|
|
--network={{ matrix_docker_network }} \
|
|
-v {{ matrix_mautrix_facebook_config_path }}:/config:z \
|
|
-v {{ matrix_mautrix_facebook_data_path }}:/data:z \
|
|
{{ matrix_mautrix_facebook_docker_image }} \
|
|
alembic -x config=/config/config.yaml upgrade head
|
|
|
|
# Intentional delay, so that the homeserver (we likely depend on) can manage to start.
|
|
ExecStartPre={{ matrix_host_command_sleep }} 5
|
|
|
|
ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-facebook \
|
|
--log-driver=none \
|
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
|
--cap-drop=ALL \
|
|
--network={{ matrix_docker_network }} \
|
|
-v {{ matrix_mautrix_facebook_config_path }}:/config:z \
|
|
-v {{ matrix_mautrix_facebook_data_path }}:/data:z \
|
|
{% for arg in matrix_mautrix_facebook_container_extra_arguments %}
|
|
{{ arg }} \
|
|
{% endfor %}
|
|
{{ matrix_mautrix_facebook_docker_image }} \
|
|
python3 -m mautrix_facebook -c /config/config.yaml --no-update
|
|
|
|
ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-facebook 2>/dev/null'
|
|
ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-facebook 2>/dev/null'
|
|
Restart=always
|
|
RestartSec=30
|
|
SyslogIdentifier=matrix-mautrix-facebook
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|