Moving keeps everything in the /matrix directory, so that we wouldn't contaminate anything else on the system or risk clashing with something else. Also retrieving certificates separately for the Riot and Matrix domains, which should help in multiple ways: - allows them to be very different (completely separate base domain..) - allows for Riot to be disabled for the playbook some time later and still have the code not break
39 lines
1.4 KiB
Django/Jinja
39 lines
1.4 KiB
Django/Jinja
[Unit]
|
|
Description=Matrix Synapse server
|
|
After=docker.service
|
|
Requires=docker.service
|
|
{% if not matrix_postgres_use_external %}
|
|
Requires=matrix-postgres.service
|
|
After=matrix-postgres.service
|
|
{% endif %}
|
|
{% if matrix_s3_media_store_enabled %}
|
|
After=matrix-s3fs.service
|
|
Requires=matrix-s3fs.service
|
|
{% endif %}
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStartPre=-/usr/bin/docker kill matrix-synapse
|
|
ExecStartPre=-/usr/bin/docker rm matrix-synapse
|
|
ExecStartPre=-{{ '/usr/bin/chown' if ansible_os_family == 'RedHat' else '/bin/chown' }} {{ matrix_user_username }}:{{ matrix_user_username }} {{ matrix_ssl_certs_path }} -R
|
|
ExecStart=/usr/bin/docker run --rm --name matrix-synapse \
|
|
{% if not matrix_postgres_use_external %}
|
|
--link matrix-postgres:{{ matrix_postgres_connection_hostname }} \
|
|
{% endif %}
|
|
-p 8448:8448 \
|
|
-p 3478:3478 \
|
|
-p 3478:3478/udp \
|
|
-p {{ matrix_coturn_turn_udp_min_port }}-{{ matrix_coturn_turn_udp_max_port }}:{{ matrix_coturn_turn_udp_min_port }}-{{ matrix_coturn_turn_udp_max_port }}/udp \
|
|
-v {{ matrix_synapse_config_dir_path }}:/data \
|
|
-v {{ matrix_synapse_run_path }}:/matrix-run \
|
|
-v {{ matrix_synapse_media_store_path }}:/matrix-media-store \
|
|
-v {{ matrix_ssl_certs_path }}:/acmetool-certs \
|
|
{{ docker_matrix_image }}
|
|
ExecStop=-/usr/bin/docker kill matrix-synapse
|
|
ExecStop=-/usr/bin/docker rm matrix-synapse
|
|
Restart=always
|
|
RestartSec=30
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|