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.
 
 

45 lines
1.8 KiB

  1. #jinja2: lstrip_blocks: "True"
  2. [Unit]
  3. Description=Matrix Element server
  4. {% for service in matrix_client_element_systemd_required_services_list %}
  5. Requires={{ service }}
  6. After={{ service }}
  7. {% endfor %}
  8. DefaultDependencies=no
  9. [Service]
  10. Type=simple
  11. ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-client-element
  12. ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-client-element
  13. ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-client-element \
  14. --log-driver=none \
  15. --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
  16. --cap-drop=ALL \
  17. --read-only \
  18. --network={{ matrix_docker_network }} \
  19. {% if matrix_client_element_container_http_host_bind_port %}
  20. -p {{ matrix_client_element_container_http_host_bind_port }}:8080 \
  21. {% endif %}
  22. --tmpfs=/tmp:rw,noexec,nosuid,size=10m \
  23. --mount type=bind,src={{ matrix_client_element_data_path }}/nginx.conf,dst=/etc/nginx/nginx.conf,ro \
  24. --mount type=bind,src={{ matrix_client_element_data_path }}/config.json,dst=/app/config.json,ro \
  25. --mount type=bind,src={{ matrix_client_element_data_path }}/config.json,dst=/app/config.{{ matrix_server_fqn_element }}.json,ro \
  26. {% if matrix_client_element_embedded_pages_home_path is not none %}
  27. --mount type=bind,src={{ matrix_client_element_data_path }}/home.html,dst=/app/home.html,ro \
  28. {% endif %}
  29. --mount type=bind,src={{ matrix_client_element_data_path }}/welcome.html,dst=/app/welcome.html,ro \
  30. {% for arg in matrix_client_element_container_extra_arguments %}
  31. {{ arg }} \
  32. {% endfor %}
  33. {{ matrix_client_element_docker_image }}
  34. ExecStop=-{{ matrix_host_command_docker }} kill matrix-client-element
  35. ExecStop=-{{ matrix_host_command_docker }} rm matrix-client-element
  36. Restart=always
  37. RestartSec=30
  38. SyslogIdentifier=matrix-client-element
  39. [Install]
  40. WantedBy=multi-user.target