matrix-docker-ansible-deploy/roles/custom
Slavi Pantaleev df5d8bfc04 Remove matrix-homeserver-proxy role in favor of the new internal Traefik entrypoint
This was meant to serve as an intermediary for services needing to reach
the homeserver. It was used like that for a while in this
`bye-bye-nginx-proxy` branch, but was never actually public.

It has recently been superseded by homeserver-like services injecting
themselves into a new internal Traefik entrypoint
(see `matrix_playbook_internal_matrix_client_api_traefik_entrypoint_*`),
so `matrix-homeserver-proxy` is no longer necessary.

---

This is probably a good moment to share some benchmarks and reasons
for going with the internal Traefik entrypoint as opposed to this nginx
service.

1. (1400 rps) Directly to Synapse (`ab -n 1000 -c 100 http://matrix-synapse:8008/_matrix/client/versions`
2. (~900 rps) Via `matrix-homeserver-proxy` (nginx) proxying to Synapse (`ab -n 1000 -c 100 http://matrix-homeserver-proxy:8008/_matrix/client/versions`)
3. (~1200 rps) Via the new internal entrypoint of Traefik (`matrix-internal-matrix-client-api`) proxying to Synapse (`ab -n 1000 -c 100 http://matrix-traefik:8008/_matrix/client/versions`)

Besides Traefik being quicker for some reason, there are also other
benefits to not having this `matrix-homeserver-proxy` component:

- we can reuse what we have in terms of labels. Services can register a few extra labels on the new Traefik entrypoint
- we don't need services (like `matrix-media-repo`) to inject custom nginx configs into `matrix-homeserver-proxy`. They just need to register labels, like they do already.
- Traefik seems faster than nginx on this benchmark for some reason, which is a nice bonus
- no need to run one extra container (`matrix-homeserver-proxy`) and execute one extra Ansible role
- no need to maintain a setup where some people run the `matrix-homeserver-proxy` component (because they have route-stealing services like `matrix-media-repo` enabled) and others run an optimized setup without this component and everything needs to be rewired to talk to the homeserver directly. Now, everyone can go through Traefik and we can all run an identical setup

Downsides of the new Traefik entrypoint setup are that:

- all addon services that need to talk to the homeserver now depend on Traefik
- people running their own Traefik setup will be inconvenienced - they
  need to manage one additional entrypoint
2024-01-14 10:53:14 +02:00
..
matrix_playbook_migration Rename label-related variables for homeservers 2024-01-14 10:48:54 +02:00
matrix-base Make addons communicate with the homeserver via a new internal Traefik entrypoint 2024-01-14 10:48:54 +02:00
matrix-bot-buscarron Adjust homeserver URL for Buscarron 2024-01-07 15:24:11 +02:00
matrix-bot-chatgpt Merge branch 'master' into bye-bye-nginx-proxy 2024-01-05 17:55:49 +02:00
matrix-bot-draupnir Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bot-go-neb Make bridges/bots use matrix_addons_homeserver_client_api_url (instead of matrix_homeserver_container_url) 2024-01-07 17:04:23 +02:00
matrix-bot-honoroit Make bridges/bots use matrix_addons_homeserver_client_api_url (instead of matrix_homeserver_container_url) 2024-01-07 17:04:23 +02:00
matrix-bot-matrix-registration-bot Revert "Auto-generate matrix_bot_matrix_registration_bot_bot_password via group vars" 2024-01-09 10:22:20 +02:00
matrix-bot-matrix-reminder-bot Merge branch 'master' into bye-bye-nginx-proxy 2024-01-13 10:25:35 +02:00
matrix-bot-maubot Make maubot talk to the homeserver via matrix_addons_homeserver_client_api_url 2024-01-13 18:04:21 +02:00
matrix-bot-mjolnir Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bot-postmoogle Merge branch 'master' into bye-bye-nginx-proxy 2024-01-05 17:55:49 +02:00
matrix-bridge-appservice-discord Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-appservice-irc Fix NeDB to Postgres importing task for matrix-bridge-appservice-irc 2024-01-13 17:18:22 +02:00
matrix-bridge-appservice-kakaotalk Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-appservice-slack Fix NeDB to Postgres importing task for matrix-bridge-appservice-slack 2024-01-13 17:18:22 +02:00
matrix-bridge-appservice-webhooks Fix some variable typos in matrix-appservice-webhooks.service 2024-01-13 17:18:22 +02:00
matrix-bridge-beeper-linkedin Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-go-skype-bridge Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-heisenbridge Move matrix-bridge-heisenbridge to its own container network 2024-01-07 15:24:10 +02:00
matrix-bridge-hookshot Remove matrix_docker_network references from matrix-bridge-hookshot 2024-01-13 17:18:22 +02:00
matrix-bridge-mautrix-discord Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mautrix-facebook Fix variable name typos in validation tasks for a few bridges 2024-01-13 16:08:47 +02:00
matrix-bridge-mautrix-gmessages Fix variable name typos in validation tasks for a few bridges 2024-01-13 16:08:47 +02:00
matrix-bridge-mautrix-googlechat Fix variable name typos in validation tasks for a few bridges 2024-01-13 16:08:47 +02:00
matrix-bridge-mautrix-hangouts Fix variable name typos in validation tasks for a few bridges 2024-01-13 16:08:47 +02:00
matrix-bridge-mautrix-instagram Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mautrix-signal Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mautrix-slack Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mautrix-telegram Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mautrix-twitter Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mautrix-whatsapp Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mautrix-wsproxy Move wsproxy to the matrix-addons network and adjust its Postgres connectivity 2024-01-13 18:13:06 +02:00
matrix-bridge-mx-puppet-discord Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mx-puppet-groupme Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mx-puppet-instagram Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mx-puppet-slack Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mx-puppet-steam Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-bridge-mx-puppet-twitter Remove matrix_docker_network references from matrix-bridge-mx-puppet-twitter 2024-01-13 17:18:22 +02:00
matrix-bridge-sms Make homeserver services sleep after startup, instead of all dependencies sleeping separately 2024-01-12 12:45:18 +02:00
matrix-cactus-comments Add matrix-cactus-comments-client role 2024-01-09 09:53:01 +02:00
matrix-cactus-comments-client Add matrix-cactus-comments-client role 2024-01-09 09:53:01 +02:00
matrix-client-cinny Move all Matrix client apps into the matrix-addons container network 2024-01-05 07:17:11 +02:00
matrix-client-element Move all Matrix client apps into the matrix-addons container network 2024-01-05 07:17:11 +02:00
matrix-client-hydrogen Move all Matrix client apps into the matrix-addons container network 2024-01-05 07:17:11 +02:00
matrix-client-schildichat Move all Matrix client apps into the matrix-addons container network 2024-01-05 07:17:11 +02:00
matrix-common-after/tasks Fix all 300+ ansible-lint-reported errors 2023-03-07 17:28:15 +02:00
matrix-conduit Add support for the internal Traefik entrypoint to Conduit 2024-01-14 10:48:55 +02:00
matrix-corporal Add self-check for the matrix-corporal HTTP API (if enabled) 2024-01-13 15:29:47 +02:00
matrix-coturn Stop containers gracefully, instead of outright killing them 2023-12-06 11:52:23 +02:00
matrix-dendrite Add support for the internal Traefik entrypoint to Dendrite 2024-01-14 10:48:54 +02:00
matrix-dimension Move Dimension to the addons network and connect to Homeserver via matrix_addons_homeserver_client_api_url 2024-01-13 17:58:41 +02:00
matrix-dynamic-dns Make matrix-dynamic-dns use its own container network 2024-01-13 17:18:22 +02:00
matrix-email2matrix Fix yamllint-reported errors in matrix-email2matrix 2024-01-13 19:47:04 +02:00
matrix-ldap-registration-proxy Shorten Traefik router names (*-endpoint -> *) 2024-01-11 12:35:41 +02:00
matrix-ma1sd Merge branch 'master' into bye-bye-nginx-proxy 2024-01-09 15:38:23 +02:00
matrix-media-repo Adapt matrix-media-repo to new container network setup, etc. 2024-01-09 18:52:38 +02:00
matrix-nginx-proxy Ensure matrix-nginx-proxy container network is created 2024-01-13 19:44:26 +02:00
matrix-prometheus-nginxlog-exporter Add native Traefik support to matrix-prometheus-nginxlog-exporter 2024-01-13 16:50:44 +02:00
matrix-prometheus-services-connect Added matrix-media-repo role 2023-07-12 01:09:27 -05:00
matrix-rageshake Stop containers gracefully, instead of outright killing them 2023-12-06 11:52:23 +02:00
matrix-registration Move matrix-registration service to its own network and add native Traefik support 2024-01-12 17:17:12 +02:00
matrix-sliding-sync Merge branch 'master' into bye-bye-nginx-proxy 2024-01-08 13:29:10 +02:00
matrix-static-files Shorten Traefik router name (*-well-known-endpoint -> *-well-known) 2024-01-11 12:35:39 +02:00
matrix-sygnal Stop containers gracefully, instead of outright killing them 2023-12-06 11:52:23 +02:00
matrix-synapse Add support for the internal Traefik entrypoint to Dendrite 2024-01-14 10:48:54 +02:00
matrix-synapse-admin Remove matrix-nginx-proxy integration support from matrix-synapse-admin 2024-01-12 16:33:44 +02:00
matrix-synapse-auto-compressor Connect matrix-synapse-auto-compressor directly to Postgres network, if integrated Postgres is used 2024-01-13 20:01:06 +02:00
matrix-synapse-reverse-proxy-companion Remove matrix-homeserver-proxy role in favor of the new internal Traefik entrypoint 2024-01-14 10:53:14 +02:00
matrix-user-creator add ensure-users-created tag alongside with ensure-matrix-users-created 2023-10-02 18:33:21 +03:00
matrix-user-verification-service Move matrix-user-verification service to its own container network 2024-01-13 17:31:03 +02:00