The matrix_appservice_irc_homeserver_media_url variable was removed and
replaced by the new mediaProxy configuration. Users who had this variable
set will now get a helpful message pointing them to the new approach.
Instead of hardcoding '/irc' in two places, the Traefik path prefix is now
derived from the mediaProxy publicUrl_pathPrefix variable by stripping the
trailing slash (Traefik paths must not end with a slash, except for '/').
Added validation to ensure:
- publicUrl_pathPrefix starts and ends with a slash (required by the service)
- Traefik path prefix doesn't end with a slash (consistent with other roles)
Role defaults should not reference playbook-level variables like
matrix_playbook_reverse_proxy_type or traefik_entrypoint_primary,
as this breaks standalone usage of the role.
Following the pattern established by other roles (matrix-sliding-sync,
matrix-synapse-admin, matrix-media-repo, etc.), Traefik variables now
use safe standalone defaults (true, web-secure, default) while the
actual playbook wiring remains in group_vars/matrix_servers.
Also standardized certResolver variable naming to use camelCase,
consistent with other roles in the playbook.
Instead of hardcoding 'https' in the publicUrl, introduce a scheme variable
that can be configured. This follows the pattern used by other roles
(e.g., matrix_mautrix_discord_scheme, matrix_hookshot_public_scheme).
New variables:
- matrix_appservice_irc_ircService_mediaProxy_publicUrl_scheme (defaults to https)
- matrix_appservice_irc_ircService_mediaProxy_publicUrl (combines scheme, hostname, pathPrefix)
The scheme is wired in group_vars/matrix_servers based on matrix_playbook_ssl_enabled,
consistent with how other roles handle this.
Variables that map to nested YAML config properties should follow the pattern:
matrix_<component>_<configPath>_<nestedProperty>
For ircService.mediaProxy.*, we now use:
- matrix_appservice_irc_ircService_mediaProxy_bindPort
- matrix_appservice_irc_ircService_mediaProxy_publicUrl_hostname
- matrix_appservice_irc_ircService_mediaProxy_publicUrl_pathPrefix
This follows the existing pattern used by matrix_appservice_irc_ircService_servers
and similar variables in other roles (e.g., matrix_hookshot_github_defaultOptions_*).
Also renamed the Traefik path prefix variable to include 'media_proxy' for clarity:
- matrix_appservice_irc_container_labels_media_proxy_traefik_path_prefix