| @@ -21,11 +21,11 @@ For a lot more generic questions and answers, see the [matrix.org FAQ](https://m | |||
| [Matrix](https://matrix.org/) is a new type of realtime communication (chat) network, the closest analogy to which is probably "email". | |||
| You don't just use the "email" protocols (SMTP, POP3, IMAP) directly though. There's a some *server* somewhere which stores your data (`@gmail.com`, `@yahoo.com`, `@hotmail.com`, `@your-company.com`) and you access using these "email" protocol using use some *client* program (Outlook, Thunderbird, some website, etc). | |||
| You don't just use the "email" protocols (SMTP, POP3, IMAP) directly though. There's a *server* somewhere which stores your data (`@gmail.com`, `@yahoo.com`, `@hotmail.com`, `@your-company.com`) and you access it by using these "email" protocols via some *client* program (Outlook, Thunderbird, some website, etc). | |||
| In the world of the Matrix chat protocol, there are various client programs. The first and currently most full-featured one is called [Element](https://element.io/) (used to be called Riot.im and Vector.im in the past). There are [many other clients](https://matrix.org/clients/). You can switch clients as much as you want until you find the one that is right for you on a given platform (you may use Element on your desktop, but Fluffychat on your phone, etc). | |||
| Matrix is also like email due to the fact that are many servers around the world which can all talk to each other (you can send email from `@gmail.com` addresses to `@yahoo.com` and `@hotmail.com` addresses). It's the same with Matrix (`@bob:his-domain.com` can talk to `@alice:her-domain.org`). | |||
| Matrix is also like email due to the fact that there are many servers around the world which can all talk to each other (you can send email from `@gmail.com` addresses to `@yahoo.com` and `@hotmail.com` addresses). It's the same with Matrix (`@bob:his-domain.com` can talk to `@alice:her-domain.org`). | |||
| If someone else is hosting your Matrix server (you being `@user:matrix.org` or some other public server like this), all you need is a Matrix client program, like Element. | |||
| @@ -37,11 +37,11 @@ In short: | |||
| - Element is a client program you can use to participate on the Matrix chat network via some server (yours or someone else's). There are also [many other client programs](https://matrix.org/clients/). | |||
| - Synapse is a server program you can use to host your very own Matrix server. | |||
| This FAQ here mostly focuses on installing Matrix services using the Ansible automation tool. You can learn much more about Matrix in the [matrix.org FAQ](https://matrix.org/faq/). | |||
| This FAQ here mostly focuses on installing various Matrix services using the Ansible automation tool. You can learn much more about Matrix in the [matrix.org FAQ](https://matrix.org/faq/). | |||
| ## People I wish to talk to are not on Matrix. Can I talk to them? | |||
| You most likely can. Besides Matrix-native chats, Matrix also supports this concept of "bridging", which allows you to plug other networks into it. | |||
| You most likely can. Besides Matrix-native chats, Matrix also supports the concept of "bridging", which allows you to plug other networks into it. | |||
| This Ansible playbook can help you install [tens of bridges for various networks](configuring-playbook.md#bridging-other-networks). | |||
| @@ -82,9 +82,9 @@ To learn more, see our [dedicated Ansible documentation page](ansible.md). | |||
| ### Why use this playbook and not install Synapse and other things manually? | |||
| There's various guides telling you how easy it is to install [Synapse](https://github.com/matrix-org/synapse). | |||
| There are various guides telling you how easy it is to install [Synapse](https://github.com/matrix-org/synapse). | |||
| Reading this Ansible playbook's documentation, you may also be thinking: | |||
| Reading the documentation of this Ansible playbook, you may also be thinking: | |||
| > I don't know what [Ansible](https://www.ansible.com/) is. I don't know what [Docker](https://www.docker.com/) is. This looks more complicated. | |||
| @@ -173,7 +173,7 @@ It also lets us have a unified setup which runs the same across various supporte | |||
| ### Is Docker a hard requirement? | |||
| Yes. See [Why don't you use Podman instead of Docker?](#is-docker-a-hard-requirement) for why we're not using another container runtime. | |||
| Yes. See [Why don't you use Podman instead of Docker?](#why-dont-you-use-podman-instead-of-docker) for why we're not using another container runtime. | |||
| All of our services run in containers. It's how we achieve predictability and also how we support tens of different services across lots of distros. | |||
| @@ -203,7 +203,7 @@ This largely depends on your use case. It's not so much the number of users that | |||
| Federated rooms with lots of history and containing hundreds of other servers are very heavy CPU-wise and memory-wise. | |||
| You can probably use a 1 CPU + 1GB memory server to host hundreds of local users just fine, but as soon as of them joins a federated room like `#matrix:matrix.org` (Matrix HQ) or some IRC-bridged room (say `##linux`), your server will get the need for a lot more power (at least 2GB RAM, etc). | |||
| You can probably use a 1 CPU + 1GB memory server to host hundreds of local users just fine, but as soon as one of them joins a federated room like `#matrix:matrix.org` (Matrix HQ) or some IRC-bridged room (say `##linux`), your server will get the need for a lot more power (at least 2GB RAM, etc). | |||
| Running Matrix on a server with 1GB of memory is possible (especially if you disable some not-so-important services). See [How do I optimize this setup for a low-power server?](#how-do-i-optimize-this-setup-for-a-low-power-server). | |||
| @@ -220,7 +220,7 @@ If your distro runs within an [LXC container](https://linuxcontainers.org/), you | |||
| ### Why install my server at matrix.DOMAIN and not at the base DOMAIN? | |||
| It's the same with email servers. Your email address is likely `name@company.com`, not `name@mail.company.com`, even though it's really `mail.company.com` that is really handling your data for `@company.com` email to work. | |||
| It's the same with email servers. Your email address is likely `name@company.com`, not `name@mail.company.com`, even though it's `mail.company.com` that is really handling your data for `@company.com` email to work. | |||
| Using a separate domain name is easier to manage (although it's a little hard to get right at first) and keeps your Matrix server isolated from your website (if you have one), from your email server (if you have one), etc. | |||
| @@ -230,7 +230,7 @@ If you'd really like to install Matrix services directly on the base domain, see | |||
| ### I don't control anything on the base domain and can't set up delegation to matrix.DOMAIN. What do I do? | |||
| If you're not in control of your base domain (or server handling it) at all, you can take a look at [How do I install on matrix.DOMAIN without involving the base DOMAIN?](#how-do-i-install-on-matrixdomain-without-involving-the-base-domain) | |||
| If you're not in control of your base domain (or the server handling it) at all, you can take a look at [How do I install on matrix.DOMAIN without involving the base DOMAIN?](#how-do-i-install-on-matrixdomain-without-involving-the-base-domain) | |||
| ### I can't set up HTTPS on the base domain. How will I get Matrix federating? | |||
| @@ -345,7 +345,7 @@ Refer to both of these for inspiration. Still, as mentioned in [Configuring the | |||
| ### I'd like to adjust some configuration which doesn't have a corresponding variable. How do I do it? | |||
| The playbook doesn't aim to expose all configuration settings for all services using variables. | |||
| Doing so would amount is to hundreds of variables that we have to create and maintain. | |||
| Doing so would amount to hundreds of variables that we have to create and maintain. | |||
| Instead, we only try to make some important basics configurable using dedicated variables you can see in each role. | |||
| See [What configuration variables are available?](#what-configuration-variables-are-available). | |||
| @@ -398,9 +398,9 @@ Available service names can be seen by doing `ls /etc/systemd/system/matrix*.ser | |||
| Some services also log to files in `/matrix/*/data/..`, but we're slowly moving away from that. | |||
| We also disable Docker logging, so you can't use `docker logs matrix-*` either. We do this to prevent useless double (or even tripple) logging and to avoid having to rotate log files. | |||
| We also disable Docker logging, so you can't use `docker logs matrix-*` either. We do this to prevent useless double (or even triple) logging and to avoid having to rotate log files. | |||
| We just simply delegate logging to journald and it takes care of persistenec and expiring old data. | |||
| We just simply delegate logging to journald and it takes care of persistence and expiring old data. | |||
| Also see: [How long do systemd/journald logs persist for?](#how-long-do-systemdjournald-logs-persist-for) | |||
| @@ -438,7 +438,7 @@ If your previous installation is done in some other way (not using this Ansible | |||
| ### How do I back up the data on my server? | |||
| We haven't document this properly yet, but the general advice is to: | |||
| We haven't documented this properly yet, but the general advice is to: | |||
| - back up Postgres by making a database dump. See [Backing up PostgreSQL](maintenance-postgres.md#backing-up-postgresql) | |||
| @@ -66,6 +66,7 @@ matrix_host_command_chown: "/usr/bin/env chown" | |||
| matrix_host_command_fusermount: "/usr/bin/env fusermount" | |||
| matrix_host_command_openssl: "/usr/bin/env openssl" | |||
| matrix_host_command_systemctl: "/usr/bin/env systemctl" | |||
| matrix_host_command_sh: "/usr/bin/env sh" | |||
| matrix_ntpd_package: "ntp" | |||
| matrix_ntpd_service: "{{ 'ntpd' if ansible_os_family == 'RedHat' or ansible_distribution == 'Archlinux' else 'ntp' }}" | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-bot-matrix-reminder-bot | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-bot-matrix-reminder-bot | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-bot-matrix-reminder-bot 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-bot-matrix-reminder-bot 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-bot-matrix-reminder-bot \ | |||
| --log-driver=none \ | |||
| @@ -32,8 +32,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-bot-matrix-rem | |||
| {{ matrix_bot_matrix_reminder_bot_docker_image }} \ | |||
| -c "matrix-reminder-bot /config/config.yaml" | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-bot-matrix-reminder-bot | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-bot-matrix-reminder-bot | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-bot-matrix-reminder-bot 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-bot-matrix-reminder-bot 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-bot-matrix-reminder-bot | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-appservice-discord | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-appservice-discord | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-discord 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-discord 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -35,8 +35,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-appservice-dis | |||
| {{ matrix_appservice_discord_docker_image }} \ | |||
| node /build/src/discordas.js -p 9005 -c /cfg/config.yaml -f /cfg/registration.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-appservice-discord | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-appservice-discord | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-discord 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-discord 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-appservice-discord | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-appservice-irc | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-appservice-irc | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-irc 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-irc 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -36,8 +36,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-appservice-irc | |||
| {{ matrix_appservice_irc_docker_image }} \ | |||
| -c 'node app.js -c /config/config.yaml -f /config/registration.yaml -p 9999' | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-appservice-irc | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-appservice-irc | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-irc 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-irc 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-appservice-irc | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-appservice-slack | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-appservice-slack | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-slack 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-slack 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -35,8 +35,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-appservice-sla | |||
| {{ matrix_appservice_slack_docker_image }} \ | |||
| node app.js -p {{matrix_appservice_slack_matrix_port}} -c /config/config.yaml -f /config/slack-registration.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-appservice-slack | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-appservice-slack | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-slack 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-slack 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-appservice-slack | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-appservice-webhooks | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-appservice-webhooks | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-webhooks 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-webhooks 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -35,8 +35,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-appservice-web | |||
| {{ matrix_appservice_webhooks_docker_image }} \ | |||
| node index.js -p {{ matrix_appservice_webhooks_matrix_port }} -c /config/config.yaml -f /config/webhooks-registration.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-appservice-webhooks | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-appservice-webhooks | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-appservice-webhooks 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-appservice-webhooks 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-appservice-webhooks | |||
| @@ -13,8 +13,13 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mautrix-facebook | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mautrix-facebook | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-facebook 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-facebook 2>/dev/null' | |||
| # This bridge uses another mechanism for migrations now (migrations happen automatically during regular startup), | |||
| # so going forward, running this alembic stuff will not necessary. | |||
| # People who are upgrading from an older version of the bridge should go through this migration | |||
| # first though, so we're keeping it around for now. | |||
| ExecStartPre={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-facebook-db \ | |||
| --log-driver=none \ | |||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | |||
| @@ -41,8 +46,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-facebo | |||
| {{ matrix_mautrix_facebook_docker_image }} \ | |||
| python3 -m mautrix_facebook -c /config/config.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mautrix-facebook | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mautrix-facebook | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-facebook 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-facebook 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mautrix-facebook | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mautrix-hangouts matrix-mautrix-hangouts-db | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mautrix-hangouts matrix-mautrix-hangouts-db | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-hangouts matrix-mautrix-hangouts-db 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-hangouts matrix-mautrix-hangouts-db 2>/dev/null' | |||
| ExecStartPre={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-hangouts-db \ | |||
| --log-driver=none \ | |||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | |||
| @@ -44,8 +44,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-hangou | |||
| {{ matrix_mautrix_hangouts_docker_image }} \ | |||
| python3 -m mautrix_hangouts -c /config/config.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mautrix-hangouts | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mautrix-hangouts | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-hangouts 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-hangouts 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mautrix-hangouts | |||
| @@ -15,8 +15,8 @@ Wants={{ service }} | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mautrix-signal-daemon | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mautrix-signal-daemon | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-signal-daemon 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-signal-daemon 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -30,8 +30,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-signal | |||
| -v {{ matrix_mautrix_signal_daemon_path }}:/signald:z \ | |||
| {{ matrix_mautrix_signal_daemon_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mautrix-signal-daemon | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mautrix-signal-daemon | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-signal-daemon 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-signal-daemon 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| @@ -14,8 +14,8 @@ Wants={{ service }} | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mautrix-signal | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mautrix-signal | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-signal 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-signal 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -37,8 +37,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-signal | |||
| {{ matrix_mautrix_signal_docker_image }} \ | |||
| python3 -m mautrix_signal -c /config/config.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mautrix-signal | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mautrix-signal | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-signal 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-signal 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mautrix-telegram | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mautrix-telegram | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-telegram 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-telegram 2>/dev/null' | |||
| ExecStartPre={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-telegram-db \ | |||
| --log-driver=none \ | |||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | |||
| @@ -44,8 +44,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-telegr | |||
| {{ matrix_mautrix_telegram_docker_image }} \ | |||
| python3 -m mautrix_telegram -c /config/config.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mautrix-telegram | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mautrix-telegram | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-telegram 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-telegram 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mautrix-telegram | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mautrix-whatsapp | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mautrix-whatsapp | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-whatsapp 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-whatsapp 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -33,8 +33,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mautrix-whatsa | |||
| {{ matrix_mautrix_whatsapp_docker_image }} \ | |||
| /usr/bin/mautrix-whatsapp -c /config/config.yaml -r /config/registration.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mautrix-whatsapp | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mautrix-whatsapp | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mautrix-whatsapp 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mautrix-whatsapp 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mautrix-whatsapp | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-discord | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-discord | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-discord 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-discord 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -33,8 +33,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mx-puppet-disc | |||
| {% endfor %} | |||
| {{ matrix_mx_puppet_discord_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-discord | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-discord | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-discord 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-discord 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mx-puppet-discord | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-instagram | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-instagram | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-instagram 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-instagram 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -33,8 +33,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mx-puppet-inst | |||
| {% endfor %} | |||
| {{ matrix_mx_puppet_instagram_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-instagram | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-instagram | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-instagram 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-instagram 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mx-puppet-instagram | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-skype | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-skype | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-skype 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-skype 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -33,8 +33,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mx-puppet-skyp | |||
| {% endfor %} | |||
| {{ matrix_mx_puppet_skype_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-skype | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-skype | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-skype 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-skype 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mx-puppet-skype | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-slack | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-slack | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-slack 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-slack 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -36,8 +36,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mx-puppet-slac | |||
| {% endfor %} | |||
| {{ matrix_mx_puppet_slack_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-slack | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-slack | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-slack 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-slack 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mx-puppet-slack | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-steam | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-steam | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-steam 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-steam 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -33,8 +33,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mx-puppet-stea | |||
| {% endfor %} | |||
| {{ matrix_mx_puppet_steam_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-steam | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-steam | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-steam 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-steam 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mx-puppet-steam | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-twitter | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-twitter | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-twitter 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null' | |||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||
| ExecStartPre={{ matrix_host_command_sleep }} 5 | |||
| @@ -36,8 +36,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mx-puppet-twit | |||
| {% endfor %} | |||
| {{ matrix_mx_puppet_twitter_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mx-puppet-twitter | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mx-puppet-twitter | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mx-puppet-twitter 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mx-puppet-twitter | |||
| @@ -10,8 +10,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-client-element | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-client-element | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-client-element 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-client-element 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-client-element \ | |||
| --log-driver=none \ | |||
| @@ -35,8 +35,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-client-element | |||
| {% endfor %} | |||
| {{ matrix_client_element_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-client-element | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-client-element | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-client-element 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-client-element 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-client-element | |||
| @@ -10,8 +10,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-corporal | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-corporal | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-corporal 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-corporal 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-corporal \ | |||
| --log-driver=none \ | |||
| @@ -34,8 +34,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-corporal \ | |||
| {{ matrix_corporal_docker_image }} \ | |||
| /matrix-corporal -config=/etc/matrix-corporal/config.json | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-corporal | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-corporal | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-corporal 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-corporal 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-corporal | |||
| @@ -10,8 +10,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-coturn | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-coturn | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-coturn 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-coturn 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-coturn \ | |||
| --log-driver=none \ | |||
| @@ -42,8 +42,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-coturn \ | |||
| {{ matrix_coturn_docker_image }} \ | |||
| -c /turnserver.conf | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-coturn | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-coturn | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-coturn 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-coturn 2>/dev/null' | |||
| # This only reloads certificates (not other configuration). | |||
| # See: https://github.com/coturn/coturn/pull/236 | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-dimension | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-dimension | |||
| 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' %} | |||
| @@ -38,8 +38,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-dimension \ | |||
| {% endfor %} | |||
| {{ matrix_dimension_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-dimension | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-dimension | |||
| 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 | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-dynamic-dns | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-dynamic-dns | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-dynamic-dns 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-dynamic-dns 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-dynamic-dns \ | |||
| --log-driver=none \ | |||
| --network={{ matrix_docker_network }} \ | |||
| @@ -26,8 +26,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-dynamic-dns \ | |||
| {% endfor %} | |||
| {{ matrix_dynamic_dns_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-dynamic-dns | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-dynamic-dns | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-dynamic-dns 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-dynamic-dns 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-dynamic-dns | |||
| @@ -8,8 +8,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-email2matrix | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-email2matrix | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-email2matrix 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-email2matrix 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-email2matrix \ | |||
| --log-driver=none \ | |||
| @@ -24,8 +24,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-email2matrix \ | |||
| {% endfor %} | |||
| {{ matrix_email2matrix_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-email2matrix | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-email2matrix | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-email2matrix 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-email2matrix 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-email2matrix | |||
| @@ -10,8 +10,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-jitsi-jicofo | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-jitsi-jicofo | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-jicofo 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-jicofo 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-jicofo \ | |||
| --log-driver=none \ | |||
| @@ -23,8 +23,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-jicofo \ | |||
| {% endfor %} | |||
| {{ matrix_jitsi_jicofo_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-jitsi-jicofo | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-jitsi-jicofo | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-jicofo 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-jicofo 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-jitsi-jicofo | |||
| @@ -10,8 +10,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-jitsi-jvb | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-jitsi-jvb | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-jvb 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-jvb 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-jvb \ | |||
| --log-driver=none \ | |||
| @@ -32,8 +32,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-jvb \ | |||
| {% endfor %} | |||
| {{ matrix_jitsi_jvb_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-jitsi-jvb | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-jitsi-jvb | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-jvb 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-jvb 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-jitsi-jvb | |||
| @@ -10,8 +10,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-jitsi-prosody | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-jitsi-prosody | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-prosody 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-prosody 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-prosody \ | |||
| --log-driver=none \ | |||
| @@ -24,8 +24,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-prosody | |||
| {% endfor %} | |||
| {{ matrix_jitsi_prosody_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-jitsi-prosody | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-jitsi-prosody | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-prosody 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-prosody 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-jitsi-prosody | |||
| @@ -10,8 +10,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-jitsi-web | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-jitsi-web | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-web 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-web 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-web \ | |||
| --log-driver=none \ | |||
| @@ -27,8 +27,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-web \ | |||
| {% endfor %} | |||
| {{ matrix_jitsi_web_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-jitsi-web | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-jitsi-web | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-jitsi-web 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-jitsi-web 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-jitsi-web | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-ma1sd | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-ma1sd | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-ma1sd 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-ma1sd 2>/dev/null' | |||
| # ma1sd writes an SQLite shared library (libsqlitejdbc.so) to /tmp and executes it from there, | |||
| # so /tmp needs to be mounted with an exec option. | |||
| @@ -38,8 +38,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-ma1sd \ | |||
| {% endfor %} | |||
| {{ matrix_ma1sd_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-ma1sd | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-ma1sd | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-ma1sd 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-ma1sd 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-ma1sd | |||
| @@ -8,8 +8,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-mailer | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-mailer | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mailer 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mailer 2>/dev/null' | |||
| # --hostname gives us a friendlier hostname than the default. | |||
| # The real hostname is passed via a `HOSTNAME` environment variable though. | |||
| @@ -28,8 +28,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-mailer \ | |||
| {% endfor %} | |||
| {{ matrix_mailer_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-mailer | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-mailer | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-mailer 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-mailer 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-mailer | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-nginx-proxy | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-nginx-proxy | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-nginx-proxy 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-nginx-proxy 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-nginx-proxy \ | |||
| --log-driver=none \ | |||
| @@ -47,8 +47,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-nginx-proxy \ | |||
| {% endfor %} | |||
| {{ matrix_nginx_proxy_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-nginx-proxy | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-nginx-proxy | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-nginx-proxy 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-nginx-proxy 2>/dev/null' | |||
| ExecReload={{ matrix_host_command_docker }} exec matrix-nginx-proxy /usr/sbin/nginx -s reload | |||
| Restart=always | |||
| RestartSec=30 | |||
| @@ -9,7 +9,7 @@ DefaultDependencies=no | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} stop matrix-postgres | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-postgres | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-postgres 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-postgres \ | |||
| --log-driver=none \ | |||
| @@ -35,7 +35,7 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-postgres \ | |||
| {% endfor %} | |||
| ExecStop=-{{ matrix_host_command_docker }} stop matrix-postgres | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-postgres | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-postgres 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-postgres | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-registration | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-registration | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-registration 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-registration 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-registration \ | |||
| --log-driver=none \ | |||
| @@ -32,8 +32,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-registration \ | |||
| {{ matrix_registration_docker_image }} \ | |||
| serve | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-registration | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-registration | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-registration 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-registration 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-registration | |||
| @@ -13,8 +13,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-synapse-admin | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-synapse-admin | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-synapse-admin 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-synapse-admin 2>/dev/null' | |||
| ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-synapse-admin \ | |||
| --log-driver=none \ | |||
| @@ -32,8 +32,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-synapse-admin | |||
| {% endfor %} | |||
| {{ matrix_synapse_admin_docker_image }} | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-synapse-admin | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-synapse-admin | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-synapse-admin 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-synapse-admin 2>/dev/null' | |||
| Restart=always | |||
| RestartSec=30 | |||
| SyslogIdentifier=matrix-synapse-admin | |||
| @@ -21,8 +21,8 @@ DefaultDependencies=no | |||
| [Service] | |||
| Type=simple | |||
| Environment="HOME={{ matrix_systemd_unit_home_path }}" | |||
| ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-synapse | |||
| ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-synapse | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-synapse 2>/dev/null' | |||
| ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-synapse 2>/dev/null' | |||
| {% if matrix_s3_media_store_enabled %} | |||
| # Allow for some time before starting, so that media store can mount. | |||
| # Mounting can happen later too, but if we start writing, | |||
| @@ -64,8 +64,8 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-synapse \ | |||
| {{ matrix_synapse_docker_image }} \ | |||
| -m synapse.app.homeserver -c /data/homeserver.yaml | |||
| ExecStop=-{{ matrix_host_command_docker }} kill matrix-synapse | |||
| ExecStop=-{{ matrix_host_command_docker }} rm matrix-synapse | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} kill matrix-synapse 2>/dev/null' | |||
| ExecStop=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} rm matrix-synapse 2>/dev/null' | |||
| ExecReload={{ matrix_host_command_docker }} exec matrix-synapse /bin/sh -c 'kill -HUP 1' | |||
| Restart=always | |||
| RestartSec=30 | |||