6334f6c1ea
Depending on the distro, common commands like sleep and chown may either be located in /bin or /usr/bin. Systemd added path lookup to ExecStart in v239, allowing only the command name to be put in unit files and not the full path as historically required. At least Ubuntu 18.04 LTS is however still on v237 so we should maintain portability for a while longer.
49 lines
1.8 KiB
Django/Jinja
49 lines
1.8 KiB
Django/Jinja
#jinja2: lstrip_blocks: "True"
|
|
[Unit]
|
|
Description=Matrix Mautrix Facebook server
|
|
{% 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 %}
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mautrix-facebook
|
|
ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mautrix-facebook
|
|
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 \
|
|
-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
|
|
|
|
ExecStop=-{{ matrix_host_command_docker }} kill matrix-mautrix-facebook
|
|
ExecStop=-{{ matrix_host_command_docker }} rm matrix-mautrix-facebook
|
|
Restart=always
|
|
RestartSec=30
|
|
SyslogIdentifier=matrix-mautrix-facebook
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|