Commit Graph

50 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
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
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
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
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
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
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
Michael Hollister
805280355c Changed mxc links to matrix_domain instead of matrix_server_fqn_matrix 2023-12-16 16:52:04 -06:00
Slavi Pantaleev
abd0823554 Add some parenthesis in if statement 2023-12-14 09:09:10 +02:00
axiopaladin
da039614fd updated MMR yaml defaults and docs for basic dendrite support 2023-12-13 22:36:43 -05:00
Michael Hollister
85005d1b0b Fixed linting warnings 2023-12-04 13:26:13 -06:00
Michael Hollister
305e3afb1b Updated matrix media repo to v1.3.3 2023-12-04 12:37:39 -06:00
Samuel Meenzen
c846ed199b Annotate version numbers with renovate metadata 2023-10-06 14:14:03 +02:00
Slavi Pantaleev
6427397486 Do not hardcode sslmode=disable to Postgres connection strings - make it configurable
This is backward-compatible with what we had before. We're not changing
the SSL mode - just making it configurable.

Most components are defaulting to `sslmode=disable`, while some
(`matrix-bot-matrix-reminder-bot` and others) do not specify an `sslmode` at all.

We're making sslmode configurable, because certain external Postgres
servers may be configured to require SSL encryption.
In such cases `sslmode=disable` does not work and needs to be changed to
`sslmode=require` or something else (`verify-ca`, `verify-full`, etc).
2023-08-22 19:40:50 +03:00
Michael Hollister
63ee8e5bb9 Replaced csApi config with proxy container url 2023-07-14 01:31:35 -05:00
Michael Hollister
c8b6b6e034 Added additioanl documentation to rendered config and added to_json filters 2023-07-14 00:20:07 -05:00
Michael Hollister
d120b0c153 Updated code to use identifier variable 2023-07-13 21:16:07 -05:00
Michael Hollister
c043463ee1 Fixed conflicting default values for enabling media-repo 2023-07-13 15:19:12 -05:00
Michael Hollister
ecb24dcaab Changed volume mounting and directory structure 2023-07-13 15:02:21 -05:00
Michael Hollister
b9f5aa0344 Removed exposing ports by default 2023-07-13 13:23:34 -05:00
Michael Hollister
6365118067 Removed additional logging to filesystem by default 2023-07-13 12:23:48 -05:00
Michael Hollister
78bd1dbd1b Added matrix-media-repo role 2023-07-12 01:09:27 -05:00