Commit Graph

69 Commits

Author SHA1 Message Date
Slavi Pantaleev
2c2738a48f Remove passlib dependency by making matrix-media-repo datastore IDs user-provided
These IDs were incorrectly auto-derived from matrix_homeserver_generic_secret_key,
which is meant for secrets that are OK to change. Datastore IDs are static
identifiers that must never change after first use.

The playbook now requires users to explicitly set matrix_media_repo_datastore_file_id
(and matrix_media_repo_datastore_s3_id when S3 is enabled) in vars.yml, with
validation that fails early if they are missing.

This was the last usage of passlib, which is now removed from prerequisites.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 16:56:51 +02:00
akdk7
dd54691137 Automatically integate matrix-media-repo with Valkey (if enabled) (#4851)
* This push request is about handling Traefik ipallowlist to synapse-admin application.

It's my first push request. If I forgot something please let me know. :-)

* Changed position of variable and naming for better expandebility of traefik options

* Remove useless `noqa var-naming` comment and too many blank lines at the end of the file

* If redis ist enabled for matrix media repo it failes to connect to valkey due to inproper configuration.

* Updated solution for fixing MMR redis connection

* Clean up

* Update valkey_container_network condition

---------

Co-authored-by: AkDk7 <joerg@pannbacker.email>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2026-01-10 15:07:12 +02:00
Slavi Pantaleev
51ab9ed9ff Adjust lstrip_blocks to use a bool value for compatibility with ansible-core>=2.19.0
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 17:58:12 +03:00
Slavi Pantaleev
a1f6ee4dc9 Improve compatibility with ansible-core>=2.19.0 by not reaching into vars
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 17:50:20 +03:00
Suguru Hirahara
3653f9f89b Run codespell --write-changes
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
Suguru Hirahara
17e14a4b89 Enable pre-commit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
Slavi Pantaleev
3ee7deb2d7 Rename variable (matrix_user_groupname -> matrix_group_name) 2025-04-29 10:39:41 +03:00
Slavi Pantaleev
9fc5cdab33 Rename variable (matrix_user_username -> matrix_user_name) 2025-04-29 10:39:41 +03:00
Suguru Hirahara
c18fc93a22 Update validate_config.yml files: edit the banner message for variables name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:30:50 +09:00
Suguru Hirahara
d3826ee652 Add license information to files for matrix-media-repo
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 01:41:41 +09:00
Slavi Pantaleev
c47eca389b Rework all roles to include component_(docker|container)_image_registry_prefix* variables
This:

- brings consistency - no more mixing `_name_prefix` and `_registry_prefix`
- adds extensibility - a future patch will allow reconfiguring all registry prefixes for all roles in the playbook

We still have `_docker_` vs `_container_` inconsistencies.
These may be worked on later.
2025-02-24 11:38:47 +02:00
Slavi Pantaleev
d12643eb91 Do not use docker stop --time (deprecated in Docker v28 in favor of --timeout or just -t)
`-t` works on both old and new Docker versions, so it's best to use that.
2025-02-22 21:42:18 +02:00
renovate[bot]
9f4ecb1749 Update ghcr.io/t2bot/matrix-media-repo Docker tag to v1.3.8 2025-01-16 19:30:56 +00:00
Suguru Hirahara
64d6f77abf Edit user identifier examples: to @alice
From `@<username>`, `@your_username`, `@example`, etc.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-09 14:40:49 +09:00
Suguru Hirahara
55fcaac1f1 Fix capitalization: matrix → Matrix
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-18 23:35:10 +09:00
Suguru Hirahara
90cfdabb2b Replace DOMAIN with example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-18 04:02:02 +09:00
Suguru Hirahara
532babc55b Replace yourdomain.com with example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-18 00:28:02 +09:00
David Mehren
c89c356e53 Add a global config option for Docker network MTU (#3502)
* Add a global config option for Docker network MTU

* Upgrade systemd_docker_base (v1.2.0-0 -> v1.3.0-0)

The new version includes `devture_systemd_docker_base_container_networks_driver_options`
due to 3cc7d12396

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3502

* Switch from passing matrix_playbook_docker_network_mtu to respecting devture_systemd_docker_base_container_networks_driver_options

Related to:
- 3cc7d12396
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3502

* Update all roles to versions that respect `devture_systemd_docker_base_container_networks_driver_options`

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-09-18 16:20:27 +03:00
Daniel A. Maierhofer
716177d5bc Add temp suffix for container name to avoid conflict 2024-09-11 23:40:10 +02:00
Slavi Pantaleev
05b79057aa Do not add quotes around already-backtick-quoted Traefik rules
As reported in https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3451#issuecomment-2331316593

Likely the solution to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3451
2024-09-05 14:58:43 +03:00
Slavi Pantaleev
05e813a846 Default matrix_media_repo_generate_signing_key to false in the matrix-media-repo role
No need to duplicate the same logic as in `group_vars/matrix_servers`.

Having it disabled by default in the role itself and overriding it at the playbook level (based on the selected homeserver implementation) makes more sense.
2024-08-15 09:25:08 +03:00
Michael Hollister
56b0a72000 Apply PR feedback 2024-08-13 14:22:14 -05:00
Michael Hollister
c3fd33566d Automated MMR signing key generation process 2024-08-09 13:43:26 -05:00
renovate[bot]
b5473b3bd0 chore(deps): update ghcr.io/t2bot/matrix-media-repo docker tag to v1.3.7 2024-07-31 00:06:21 +00:00
Michael Hollister
f1dbbd3106 Added new fields to MMR config template 2024-07-23 11:29:19 -05:00
Michael Hollister
2c360a99fe Added MMR metrics proxying support 2024-07-22 17:38:34 -05:00
Slavi Pantaleev
f794aa2005 Add support for enabling/disabling all the other matrix-media-repo Traefik labels
This is provoked by de91fe933d,
where I've added a few new labels and made it possible for people to
disable them.

In this patch, I'm making it possible to disable any of the old Traefik
labels in a similar way.
2024-07-11 07:10:33 +03:00
Slavi Pantaleev
de91fe933d Add Traefik labels for handling authenticated media (MSC3916) in matrix-media-repo
Related to:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3409
- https://github.com/t2bot/matrix-media-repo/releases/tag/v1.3.5
- https://github.com/matrix-org/matrix-spec-proposals/pull/3916

Support for authenticated media routes is enabled by default, but
variables are in place to disable it if necessary.

This change has not been tested.
2024-07-11 07:03:20 +03:00
renovate[bot]
386d98886d Update ghcr.io/t2bot/matrix-media-repo Docker tag to v1.3.6 2024-07-10 18:26:43 +00:00
Slavi Pantaleev
329796f4d4 Upgrade Traefik to v3 and adapt matrix-media-repo role
`matrix-media-repo` is the only role that seems incompatible with the
changes introduced by Traefik v3, due to its use of `PathPrefix` with
regular expressions in a few places.

Regular expressions should now be used with `PathRegexp`, not
`PathPrefix`. Furthermore, they should follow the Golang regexp syntax,
as described in the migration guide:
https://doc.traefik.io/traefik/migration/v2-to-v3-details/#dynamic-configuration-changes
2024-07-06 11:05:19 +03:00
Slavi Pantaleev
42b00fdff4 Fix container image repository name for matrix-media-repo
Fixup for f97e849018

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3354
2024-06-06 09:01:17 +03:00
Slavi Pantaleev
4224741130 Remove a few remaining hardcoded docker.service references
Continuation of 9f2eff2ac7

Provoked by 7749048bf8
(https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3353)
2024-06-05 21:22:21 +03:00
Slavi Pantaleev
f97e849018 Switch matrix-media-repo to Github Container Registry (supports multi-arch)
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3349

`docker.io/turt2live/matrix-media-repo:v1.3.4` is amd64-only.

`ghcr.io/t2bot/matrix-media-repo:v1.3.4` is a multi-arch image which
works on arm64.
2024-06-04 10:48:39 +03:00
Slavi Pantaleev
3758b0cfeb Squashed commit of the following:
commit cf8637efaca0a0be3609fd6add0dff893a0a9194
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sun Mar 24 19:14:57 2024 +0200

    Make devture_systemd_docker_base_ipv6_enabled automatically reconfigure geerlingguy/ansible-role-docker

    Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3218

commit dc7af3bc7d25f321bf409477d823e43ea8a05803
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sun Mar 24 19:10:31 2024 +0200

    Replace matrix_ipv6_enabled with devture_systemd_docker_base_ipv6_enabled

    Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3218

commit 07e900d6a2926233a4fce34d9d8be292ff115260
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sun Mar 24 19:01:51 2024 +0200

    Improve matrix_ipv6_enabled comments

commit 3f03ca7f6983cb06b64607efef7a96b30c7def5b
Author: Tilo Spannagel <development@tilosp.de>
Date:   Sat Mar 9 19:27:50 2024 +0000

    Add setting to enable ipv6
2024-03-24 19:15:43 +02:00
Michael Hollister
227541d407 Added back storageClass config option 2024-03-12 00:03:59 -05:00
Michael Hollister
97d43c78d3 Added MMR media redirect config options 2024-03-11 23:58:55 -05:00
Slavi Pantaleev
0990fe79cd Add missing matrix_media_repo_container_labels_traefik_entrypoints variable and hook it to other matrix-media-repo entrypoint variables 2024-02-20 15:50:33 +02:00
renovate[bot]
2d4b96e0c5 Update turt2live/matrix-media-repo Docker tag to v1.3.4 2024-02-10 01:50:50 +00:00
Michael Hollister
c269eb5c49 Updated Grafana dashboard 2024-01-16 17:43:02 -06:00
Slavi Pantaleev
48a4afb114 Make Traefik labels files look better
This moves the comments from being just in Jinja,
to actually ending up in the generated `labels` file,
which makes inspection of the final result easier.

Also, some new lines were added here and there to make labels
more legible.

The generated file may still include weird new-lines due to
various `if` statements yielding content or not, but that's not so ugly
anymore - now that we have proper start/end sections that are visible in
the final `labels` file.
2024-01-15 10:41:15 +02:00
Slavi Pantaleev
b91ad453be Adjust TLS variables for homeservers to follow devture_traefik_config_entrypoint_web_secure_enabled (via matrix_federation_traefik_entrypoint_tls) 2024-01-15 09:39:36 +02:00
Slavi Pantaleev
69ca30d1b1 Add support for the internal Traefik entrypoint to matrix-media-repo 2024-01-14 11:57:51 +02:00
Slavi Pantaleev
6b5f42fa81 Indirectly make use of matrix_homeserver_federation_enabled in matrix-media-repo and add some comments around Traefik labels 2024-01-14 11:54:02 +02:00
Slavi Pantaleev
f54b68956d Adapt matrix-media-repo to new container network setup, etc. 2024-01-09 18:52:38 +02:00
Slavi Pantaleev
3e19c8b102 Define matrix_media_repo_homeservers_auto in group vars
This is mostly so as to avoid referring to variables from other roles,
like `matrix_nginx_proxy_proxy_matrix_client_api_addr_with_container`.
2024-01-09 16:07:23 +02:00
Slavi Pantaleev
883afa11dc Do not hardcode devture_postgres_identifier in matrix-media-repo role
This should come (and already does) from group_vars/matrix_servers
2024-01-09 16:02:31 +02:00
Slavi Pantaleev
3da4c66b85 Merge pull request #3045 from Michael-Hollister/michael/mmr-federation-fix
MMR reverse proxy updates
2023-12-22 08:48:55 +02:00
Slavi Pantaleev
ce013a325c Remove duplicate matrix_media_repo_identifier definition from group_vars/matrix_servers
`matrix_media_repo_identifier` is already defined in the role defaults,
which is a better role to have it anyway.
2023-12-22 08:43:30 +02:00
Michael Hollister
0908c6b662 Added Traefik support to MMR 2023-12-20 13:38:46 -06:00
Michael Hollister
42f33339c5 Updated MMR docs with updated fields in main.yaml (#3047)
* Updated MMR docs with updated fields in main.yaml

* Removed uneeded placeholder db password
2023-12-18 11:01:59 +02:00