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.
55 lines
2.3 KiB
Django/Jinja
55 lines
2.3 KiB
Django/Jinja
#jinja2: lstrip_blocks: "True"
|
|
[Unit]
|
|
Description=Matrix nginx-proxy server
|
|
{% for service in matrix_nginx_proxy_systemd_required_services_list %}
|
|
Requires={{ service }}
|
|
After={{ service }}
|
|
{% endfor %}
|
|
{% for service in matrix_nginx_proxy_systemd_wanted_services_list %}
|
|
Wants={{ service }}
|
|
{% endfor %}
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-nginx-proxy
|
|
ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-nginx-proxy
|
|
|
|
ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-nginx-proxy \
|
|
--log-driver=none \
|
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
|
--cap-drop=ALL \
|
|
--read-only \
|
|
--tmpfs=/tmp:rw,noexec,nosuid,size={{ matrix_nginx_proxy_tmp_directory_size_mb }}m \
|
|
--network={{ matrix_docker_network }} \
|
|
{% if matrix_nginx_proxy_container_http_host_bind_port %}
|
|
-p {{ matrix_nginx_proxy_container_http_host_bind_port }}:8080 \
|
|
{% endif %}
|
|
{% if matrix_nginx_proxy_https_enabled and matrix_nginx_proxy_container_https_host_bind_port %}
|
|
-p {{ matrix_nginx_proxy_container_https_host_bind_port }}:8443 \
|
|
{% endif %}
|
|
{% if matrix_nginx_proxy_proxy_matrix_federation_api_enabled and matrix_nginx_proxy_container_federation_host_bind_port %}
|
|
-p {{ matrix_nginx_proxy_container_federation_host_bind_port }}:8448 \
|
|
{% endif %}
|
|
-v {{ matrix_nginx_proxy_base_path }}/nginx.conf:/etc/nginx/nginx.conf:ro \
|
|
-v {{ matrix_nginx_proxy_data_path }}:/nginx-data:ro \
|
|
-v {{ matrix_nginx_proxy_confd_path }}:/etc/nginx/conf.d:ro \
|
|
-v {{ matrix_ssl_config_dir_path }}:{{ matrix_ssl_config_dir_path }}:ro \
|
|
-v {{ matrix_static_files_base_path }}:{{ matrix_static_files_base_path }}:ro \
|
|
{% for volume in matrix_nginx_proxy_container_additional_volumes %}
|
|
-v {{ volume.src }}:{{ volume.dst }}:{{ volume.options }} \
|
|
{% endfor %}
|
|
{% for arg in matrix_nginx_proxy_container_extra_arguments %}
|
|
{{ arg }} \
|
|
{% endfor %}
|
|
{{ matrix_nginx_proxy_docker_image }}
|
|
|
|
ExecStop=-{{ matrix_host_command_docker }} kill matrix-nginx-proxy
|
|
ExecStop=-{{ matrix_host_command_docker }} rm matrix-nginx-proxy
|
|
ExecReload={{ matrix_host_command_docker }} exec matrix-nginx-proxy /usr/sbin/nginx -s reload
|
|
Restart=always
|
|
RestartSec=30
|
|
SyslogIdentifier=matrix-nginx-proxy
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|