mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-11-04 09:08:56 +01:00 
			
		
		
		
	These are just defensive cleanup tasks that we run.
In the good case, there's nothing to kill or remove, so they trigger an
error like this:
> Error response from daemon: Cannot kill container: something: No such container: something
and:
> Error: No such container: something
People often ask us if this is a problem, so instead of always having to
answer with "no, this is to be expected", we'd rather eliminate it now
and make logs cleaner.
In the event that:
- a container is really stuck and needs cleanup using kill/rm
- and cleanup fails, and we fail to report it because of error
suppression (`2>/dev/null`)
.. we'd still get an error when launching ("container name already in use .."),
so it shouldn't be too hard to investigate.
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
#jinja2: lstrip_blocks: "True"
 | 
						|
[Unit]
 | 
						|
Description=Matrix Dimension
 | 
						|
{% for service in matrix_dimension_systemd_required_services_list %}
 | 
						|
Requires={{ service }}
 | 
						|
After={{ service }}
 | 
						|
{% endfor %}
 | 
						|
{% for service in matrix_dimension_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-dimension 2>/dev/null'
 | 
						|
ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-dimension 2>/dev/null'
 | 
						|
 | 
						|
# Fixup database ownership if it got changed somehow (during a server migration, etc.)
 | 
						|
{% if matrix_dimension_database_engine == 'sqlite' %}
 | 
						|
ExecStartPre=-{{ matrix_host_command_chown }} {{ matrix_dimension_user_uid }}:{{ matrix_dimension_user_gid }} {{ matrix_dimension_sqlite_database_path_local }}
 | 
						|
{% endif %}
 | 
						|
 | 
						|
ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-dimension \
 | 
						|
			--log-driver=none \
 | 
						|
			--user={{ matrix_dimension_user_uid }}:{{ matrix_dimension_user_gid }} \
 | 
						|
			--cap-drop=ALL \
 | 
						|
			--network={{ matrix_docker_network }} \
 | 
						|
			{% if matrix_dimension_widgets_allow_self_signed_ssl_certificates %}
 | 
						|
			-e NODE_TLS_REJECT_UNAUTHORIZED=0 \
 | 
						|
			{% endif %}
 | 
						|
			{% if matrix_dimension_container_http_host_bind_port %}
 | 
						|
			-p {{ matrix_dimension_container_http_host_bind_port }}:8184 \
 | 
						|
			{% endif %}
 | 
						|
			--mount type=bind,src={{ matrix_dimension_base_path }},dst=/data \
 | 
						|
			{% for arg in matrix_dimension_container_extra_arguments %}
 | 
						|
			{{ arg }} \
 | 
						|
			{% endfor %}
 | 
						|
			{{ matrix_dimension_docker_image }}
 | 
						|
 | 
						|
ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-dimension 2>/dev/null'
 | 
						|
ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-dimension 2>/dev/null'
 | 
						|
Restart=always
 | 
						|
RestartSec=30
 | 
						|
SyslogIdentifier=matrix-dimension
 | 
						|
 | 
						|
[Install]
 | 
						|
WantedBy=multi-user.target
 |