Bridges start matrix-synapse.service as a dependency, but Synapse is sometimes slow to start, while bridges are quick to hit it and die (if unavailable). They'll auto-restart later, but .. this still breaks `--tags=start`, which doesn't wait long enough for such a restart to happen. This attempts to slow down bridge startup enough to ensure Synapse is up and no failures happen at all.pull/196/head
| @@ -14,6 +14,9 @@ Type=simple | |||||
| ExecStartPre=-/usr/bin/docker kill matrix-appservice-discord | ExecStartPre=-/usr/bin/docker kill matrix-appservice-discord | ||||
| ExecStartPre=-/usr/bin/docker rm matrix-appservice-discord | ExecStartPre=-/usr/bin/docker rm matrix-appservice-discord | ||||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||||
| ExecStartPre=/bin/sleep 5 | |||||
| ExecStart=/usr/bin/docker run --rm --name matrix-appservice-discord \ | ExecStart=/usr/bin/docker run --rm --name matrix-appservice-discord \ | ||||
| --log-driver=none \ | --log-driver=none \ | ||||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | ||||
| @@ -14,6 +14,9 @@ Type=simple | |||||
| ExecStartPre=-/usr/bin/docker kill matrix-appservice-irc | ExecStartPre=-/usr/bin/docker kill matrix-appservice-irc | ||||
| ExecStartPre=-/usr/bin/docker rm matrix-appservice-irc | ExecStartPre=-/usr/bin/docker rm matrix-appservice-irc | ||||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||||
| ExecStartPre=/bin/sleep 5 | |||||
| ExecStart=/usr/bin/docker run --rm --name matrix-appservice-irc \ | ExecStart=/usr/bin/docker run --rm --name matrix-appservice-irc \ | ||||
| --log-driver=none \ | --log-driver=none \ | ||||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | ||||
| @@ -21,6 +21,9 @@ ExecStartPre=/usr/bin/docker run --rm --name matrix-mautrix-facebook-db \ | |||||
| {{ matrix_mautrix_facebook_docker_image }} \ | {{ matrix_mautrix_facebook_docker_image }} \ | ||||
| alembic -x config=/data/config.yaml upgrade head | alembic -x config=/data/config.yaml upgrade head | ||||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||||
| ExecStartPre=/bin/sleep 5 | |||||
| ExecStart=/usr/bin/docker run --rm --name matrix-mautrix-facebook \ | ExecStart=/usr/bin/docker run --rm --name matrix-mautrix-facebook \ | ||||
| --log-driver=none \ | --log-driver=none \ | ||||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | ||||
| @@ -21,6 +21,9 @@ ExecStartPre=/usr/bin/docker run --rm --name matrix-mautrix-telegram-db \ | |||||
| {{ matrix_mautrix_telegram_docker_image }} \ | {{ matrix_mautrix_telegram_docker_image }} \ | ||||
| alembic -x config=/data/config.yaml upgrade head | alembic -x config=/data/config.yaml upgrade head | ||||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||||
| ExecStartPre=/bin/sleep 5 | |||||
| ExecStart=/usr/bin/docker run --rm --name matrix-mautrix-telegram \ | ExecStart=/usr/bin/docker run --rm --name matrix-mautrix-telegram \ | ||||
| --log-driver=none \ | --log-driver=none \ | ||||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | ||||
| @@ -14,6 +14,9 @@ Type=simple | |||||
| ExecStartPre=-/usr/bin/docker kill matrix-mautrix-whatsapp | ExecStartPre=-/usr/bin/docker kill matrix-mautrix-whatsapp | ||||
| ExecStartPre=-/usr/bin/docker rm matrix-mautrix-whatsapp | ExecStartPre=-/usr/bin/docker rm matrix-mautrix-whatsapp | ||||
| # Intentional delay, so that the homeserver (we likely depend on) can manage to start. | |||||
| ExecStartPre=/bin/sleep 5 | |||||
| ExecStart=/usr/bin/docker run --rm --name matrix-mautrix-whatsapp \ | ExecStart=/usr/bin/docker run --rm --name matrix-mautrix-whatsapp \ | ||||
| --log-driver=none \ | --log-driver=none \ | ||||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | ||||
| @@ -17,7 +17,7 @@ ExecStartPre=-/usr/bin/docker rm matrix-synapse | |||||
| # Allow for some time before starting, so that media store can mount. | # Allow for some time before starting, so that media store can mount. | ||||
| # Mounting can happen later too, but if we start writing, | # Mounting can happen later too, but if we start writing, | ||||
| # we'd write files to the local filesystem and fusermount will complain. | # we'd write files to the local filesystem and fusermount will complain. | ||||
| ExecStartPre=/bin/sleep 5 | |||||
| ExecStartPre=/bin/sleep 3 | |||||
| {% endif %} | {% endif %} | ||||
| ExecStart=/usr/bin/docker run --rm --name matrix-synapse \ | ExecStart=/usr/bin/docker run --rm --name matrix-synapse \ | ||||