`-v` magically creates the source destination as a directory, if it doesn't exist already. We'd like to avoid this magic and the potential breakage that it might cause. We'd rather fail while Docker tries to find things to `--mount` than have it automatically create directories and fail anyway, while having contaminated the filesystem. There's a lot more `-v` instances remaining to be fixed later on. This is just some start. Things like `matrix_synapse_container_additional_volumes` and `matrix_nginx_proxy_container_additional_volumes` were not changed to use `--mount`, as options for each one are passed differently (`ro` is `ro`, but `rw` doesn't exist and `slave` is `bind-propagation=slave`). To avoid breaking people's custom volume mounts, we keep it as it is for now. A deficiency with `--mount` is that it lacks the `z` option (SELinux ownership changes), and some of our `-v` instances use that. I'm not sure how supported SELinux is for us right now, but it might be, and breaking that would not be a good idea.
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| #jinja2: lstrip_blocks: "True"
 | |
| [Unit]
 | |
| Description=matrix-registration
 | |
| {% for service in matrix_registration_systemd_required_services_list %}
 | |
| Requires={{ service }}
 | |
| After={{ service }}
 | |
| {% endfor %}
 | |
| {% for service in matrix_registration_systemd_wanted_services_list %}
 | |
| Wants={{ service }}
 | |
| {% endfor %}
 | |
| 
 | |
| [Service]
 | |
| Type=simple
 | |
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-registration
 | |
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-registration
 | |
| 
 | |
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-registration \
 | |
| 			--log-driver=none \
 | |
| 			--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
 | |
| 			--cap-drop=ALL \
 | |
| 			--network={{ matrix_docker_network }} \
 | |
| 			{% if matrix_registration_container_http_host_bind_port %}
 | |
| 			-p {{ matrix_registration_container_http_host_bind_port }}:5000 \
 | |
| 			{% endif %}
 | |
| 			--mount type=bind,src={{ matrix_registration_config_path }},dst=/config,ro \
 | |
| 			--mount type=bind,src={{ matrix_registration_data_path }},dst=/data \
 | |
| 			{% for arg in matrix_registration_container_extra_arguments %}
 | |
| 			{{ arg }} \
 | |
| 			{% endfor %}
 | |
| 			{{ matrix_registration_docker_image }} \
 | |
| 			serve
 | |
| 
 | |
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-registration
 | |
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-registration
 | |
| Restart=always
 | |
| RestartSec=30
 | |
| SyslogIdentifier=matrix-registration
 | |
| 
 | |
| [Install]
 | |
| WantedBy=multi-user.target
 |