Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

44 lines
1.6 KiB

  1. #jinja2: lstrip_blocks: "True"
  2. [Unit]
  3. Description=Matrix Mjolnir bot
  4. {% for service in matrix_bot_mjolnir_systemd_required_services_list %}
  5. Requires={{ service }}
  6. After={{ service }}
  7. {% endfor %}
  8. {% for service in matrix_bot_mjolnir_systemd_required_services_list %}
  9. Wants={{ service }}
  10. {% endfor %}
  11. DefaultDependencies=no
  12. PartOf=matrix.target
  13. [Service]
  14. Type=simple
  15. Environment="HOME={{ matrix_systemd_unit_home_path }}"
  16. ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} stop matrix-bot-mjolnir 2>/dev/null'
  17. ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-bot-mjolnir 2>/dev/null'
  18. # Intentional delay, so that the homeserver (we likely depend on) can manage to start.
  19. ExecStartPre={{ matrix_host_command_sleep }} 5
  20. ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-bot-mjolnir \
  21. --log-driver=none \
  22. --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
  23. --cap-drop=ALL \
  24. --read-only \
  25. --network={{ matrix_docker_network }} \
  26. --mount type=bind,src={{ matrix_bot_mjolnir_config_path }},dst=/data/config,ro \
  27. --mount type=bind,src={{ matrix_bot_mjolnir_data_path }},dst=/data \
  28. {% for arg in matrix_bot_mjolnir_container_extra_arguments %}
  29. {{ arg }} \
  30. {% endfor %}
  31. {{ matrix_bot_mjolnir_docker_image }}
  32. ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} stop matrix-bot-mjolnir 2>/dev/null'
  33. ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-bot-mjolnir 2>/dev/null'
  34. Restart=always
  35. RestartSec=30
  36. SyslogIdentifier=matrix-bot-mjolnir
  37. [Install]
  38. WantedBy=matrix.target