| @@ -21,3 +21,106 @@ matrix_dimension_integrations_ui_url: "https://{{ matrix_server_fqn_dimension }} | |||||
| matrix_dimension_integrations_rest_url: "https://{{ matrix_server_fqn_dimension }}/api/v1/scalar" | matrix_dimension_integrations_rest_url: "https://{{ matrix_server_fqn_dimension }}/api/v1/scalar" | ||||
| matrix_dimension_integrations_widgets_urls: ["https://{{ matrix_server_fqn_dimension }}/widgets"] | matrix_dimension_integrations_widgets_urls: ["https://{{ matrix_server_fqn_dimension }}/widgets"] | ||||
| matrix_dimension_integrations_jitsi_widget_url: "https://{{ matrix_server_fqn_dimension }}/widgets/jitsi" | matrix_dimension_integrations_jitsi_widget_url: "https://{{ matrix_server_fqn_dimension }}/widgets/jitsi" | ||||
| # Default Dimension configuration template which covers the generic use case. | |||||
| # You can customize it by controlling the various variables inside it. | |||||
| # | |||||
| # For a more advanced customization, you can extend the default (see `matrix_dimension_configuration_extension_yaml`) | |||||
| # or completely replace this variable with your own template. | |||||
| matrix_dimension_configuration_yaml: | | |||||
| # The web settings for the service (API and UI). | |||||
| # It is best to have this run on localhost and use a reverse proxy to access Dimension. | |||||
| web: | |||||
| port: 8184 | |||||
| address: '0.0.0.0' | |||||
| # Homeserver configuration | |||||
| homeserver: | |||||
| # The domain name of the homeserver. This is used in many places, such as with go-neb | |||||
| # setups, to identify the homeserver. | |||||
| name: "{{ matrix_server_fqn_matrix }}" | |||||
| # The URL that Dimension, go-neb, and other services provisioned by Dimension should | |||||
| # use to access the homeserver with. | |||||
| clientServerUrl: "https://{{ matrix_server_fqn_matrix }}" | |||||
| # The URL that Dimension should use when trying to communicate with federated APIs on | |||||
| # the homeserver. If not supplied or left empty Dimension will try to resolve the address | |||||
| # through the normal federation process. | |||||
| federationUrl: "http://matrix-synapse:8048" | |||||
| # The URL that Dimension will redirect media requests to for downloading media such as | |||||
| # stickers. If not supplied or left empty Dimension will use the clientServerUrl. | |||||
| #mediaUrl: "https://t2bot.io" | |||||
| # The access token Dimension should use for miscellaneous access to the homeserver. This | |||||
| # should be for a user on the configured homeserver: any user will do, however it is | |||||
| # recommended to use a dedicated user (such as @dimension:t2bot.io). For information on | |||||
| # how to acquire an access token, visit https://t2bot.io/docs/access_tokens | |||||
| accessToken: "{{ matrix_dimension_access_token }}" | |||||
| # These users can modify the integrations this Dimension supports. | |||||
| # To access the admin interface, open Dimension in Riot and click the settings icon. | |||||
| admins: {{ matrix_dimension_admins }} | |||||
| # IPs and CIDR ranges listed here will be blocked from being widgets. | |||||
| # Note: Widgets may still be embedded with restricted content, although not through Dimension directly. | |||||
| widgetBlacklist: | |||||
| - 10.0.0.0/8 | |||||
| - 172.16.0.0/12 | |||||
| - 192.168.0.0/16 | |||||
| - 127.0.0.0/8 | |||||
| # Where the database for Dimension is | |||||
| database: | |||||
| file: "dimension.db" | |||||
| # Display settings that apply to self-hosted go-neb instances | |||||
| goneb: | |||||
| # The avatars to set for each bot. Usually these don't need to be changed, however if your homeserver | |||||
| # is not able to reach t2bot.io then you should specify your own here. To not use an avatar for a bot, | |||||
| # make the bot's avatar an empty string. | |||||
| avatars: | |||||
| giphy: "mxc://t2bot.io/c5eaab3ef0133c1a61d3c849026deb27" | |||||
| imgur: "mxc://t2bot.io/6749eaf2b302bb2188ae931b2eeb1513" | |||||
| github: "mxc://t2bot.io/905b64b3cd8e2347f91a60c5eb0832e1" | |||||
| wikipedia: "mxc://t2bot.io/7edfb54e9ad9e13fec0df22636feedf1" | |||||
| travisci: "mxc://t2bot.io/7f4703126906fab8bb27df34a17707a8" | |||||
| rss: "mxc://t2bot.io/aace4fcbd045f30afc1b4e5f0928f2f3" | |||||
| google: "mxc://t2bot.io/636ad10742b66c4729bf89881a505142" | |||||
| guggy: "mxc://t2bot.io/e7ef0ed0ba651aaf907655704f9a7526" | |||||
| echo: "mxc://t2bot.io/3407ff2db96b4e954fcbf2c6c0415a13" | |||||
| circleci: "mxc://t2bot.io/cf7d875845a82a6b21f5f66de78f6bee" | |||||
| jira: "mxc://t2bot.io/f4a38ebcc4280ba5b950163ca3e7c329" | |||||
| # Settings for controlling how logging works | |||||
| logging: | |||||
| file: /dev/null | |||||
| console: true | |||||
| consoleLevel: verbose | |||||
| fileLevel: info | |||||
| rotate: | |||||
| size: 52428800 # bytes, default is 50mb | |||||
| count: 5 | |||||
| matrix_dimension_configuration_extension_yaml: | | |||||
| # Your custom YAML configuration for Dimension goes here. | |||||
| # This configuration extends the default starting configuration (`matrix_dimension_configuration_yaml`). | |||||
| # | |||||
| # You can override individual variables from the default configuration, or introduce new ones. | |||||
| # | |||||
| # If you need something more special, you can take full control by | |||||
| # completely redefining `matrix_dimension_configuration_yaml`. | |||||
| # | |||||
| # Example configuration extension follows: | |||||
| # telegram: | |||||
| # botToken: "YourTokenHere" | |||||
| # | |||||
| # Holds the final Dimension configuration (a combination of the default and its extension). | |||||
| # You most likely don't need to touch this variable. Instead, see `matrix_dimension_configuration_yaml`. | |||||
| matrix_dimension_configuration: "{{ matrix_dimension_configuration_yaml|from_yaml|combine(matrix_dimension_configuration_extension, recursive=True) }}" | |||||
| @@ -4,7 +4,7 @@ | |||||
| # Tasks related to setting up the dimension | # Tasks related to setting up the dimension | ||||
| # | # | ||||
| - name: Ensure dimension base path exists | |||||
| - name: Ensure Dimension base path exists | |||||
| file: | file: | ||||
| path: "{{ matrix_dimension_base_path }}" | path: "{{ matrix_dimension_base_path }}" | ||||
| state: directory | state: directory | ||||
| @@ -13,16 +13,16 @@ | |||||
| group: "{{ matrix_dimension_user_gid }}" | group: "{{ matrix_dimension_user_gid }}" | ||||
| when: matrix_dimension_enabled | when: matrix_dimension_enabled | ||||
| - name: Ensure dimension environment variables file created | |||||
| template: | |||||
| src: "{{ role_path }}/templates/config.yaml.j2" | |||||
| - name: Ensure Dimension config installed | |||||
| copy: | |||||
| content: "{{ matrix_dimension_configuration|to_nice_yaml }}" | |||||
| dest: "{{ matrix_dimension_base_path }}/config.yaml" | dest: "{{ matrix_dimension_base_path }}/config.yaml" | ||||
| mode: 0640 | mode: 0640 | ||||
| owner: "{{ matrix_user_username }}" | owner: "{{ matrix_user_username }}" | ||||
| group: "{{ matrix_dimension_user_gid }}" | group: "{{ matrix_dimension_user_gid }}" | ||||
| when: matrix_dimension_enabled | when: matrix_dimension_enabled | ||||
| - name: Ensure dimension image is pulled | |||||
| - name: Ensure Dimension image is pulled | |||||
| docker_image: | docker_image: | ||||
| name: "{{ matrix_dimension_docker_image }}" | name: "{{ matrix_dimension_docker_image }}" | ||||
| when: matrix_dimension_enabled | when: matrix_dimension_enabled | ||||
| @@ -69,13 +69,13 @@ | |||||
| daemon_reload: yes | daemon_reload: yes | ||||
| when: "not matrix_dimension_enabled and matrix_dimension_service_stat.stat.exists" | when: "not matrix_dimension_enabled and matrix_dimension_service_stat.stat.exists" | ||||
| - name: Ensure Matrix dimension environment variables path doesn't exist | |||||
| - name: Ensure Dimension environment variables path doesn't exist | |||||
| file: | file: | ||||
| path: "{{ matrix_dimension_base_path }}" | path: "{{ matrix_dimension_base_path }}" | ||||
| state: absent | state: absent | ||||
| when: "not matrix_dimension_enabled" | when: "not matrix_dimension_enabled" | ||||
| - name: Ensure dimension Docker image doesn't exist | |||||
| - name: Ensure Dimension Docker image doesn't exist | |||||
| docker_image: | docker_image: | ||||
| name: "{{ matrix_dimension_docker_image }}" | name: "{{ matrix_dimension_docker_image }}" | ||||
| state: absent | state: absent | ||||
| @@ -1,80 +0,0 @@ | |||||
| # The web settings for the service (API and UI). | |||||
| # It is best to have this run on localhost and use a reverse proxy to access Dimension. | |||||
| web: | |||||
| port: 8184 | |||||
| address: '0.0.0.0' | |||||
| # Homeserver configuration | |||||
| homeserver: | |||||
| # The domain name of the homeserver. This is used in many places, such as with go-neb | |||||
| # setups, to identify the homeserver. | |||||
| name: "{{ matrix_domain }}" | |||||
| # The URL that Dimension, go-neb, and other services provisioned by Dimension should | |||||
| # use to access the homeserver with. | |||||
| clientServerUrl: "https://{{ matrix_server_fqn_matrix }}" | |||||
| # The URL that Dimension should use when trying to communicate with federated APIs on | |||||
| # the homeserver. If not supplied or left empty Dimension will try to resolve the address | |||||
| # through the normal federation process. | |||||
| federationUrl: "http://matrix-synapse:8048" | |||||
| # The URL that Dimension will redirect media requests to for downloading media such as | |||||
| # stickers. If not supplied or left empty Dimension will use the clientServerUrl. | |||||
| #mediaUrl: "https://t2bot.io" | |||||
| # The access token Dimension should use for miscellaneous access to the homeserver. This | |||||
| # should be for a user on the configured homeserver: any user will do, however it is | |||||
| # recommended to use a dedicated user (such as @dimension:t2bot.io). For information on | |||||
| # how to acquire an access token, visit https://t2bot.io/docs/access_tokens | |||||
| accessToken: "{{ matrix_dimension_access_token }}" | |||||
| # These users can modify the integrations this Dimension supports. | |||||
| # To access the admin interface, open Dimension in Riot and click the settings icon. | |||||
| admins: {{ matrix_dimension_admins }} | |||||
| # IPs and CIDR ranges listed here will be blocked from being widgets. | |||||
| # Note: Widgets may still be embedded with restricted content, although not through Dimension directly. | |||||
| widgetBlacklist: | |||||
| - 10.0.0.0/8 | |||||
| - 172.16.0.0/12 | |||||
| - 192.168.0.0/16 | |||||
| - 127.0.0.0/8 | |||||
| # Where the database for Dimension is | |||||
| database: | |||||
| file: "dimension.db" | |||||
| # Display settings that apply to self-hosted go-neb instances | |||||
| goneb: | |||||
| # The avatars to set for each bot. Usually these don't need to be changed, however if your homeserver | |||||
| # is not able to reach t2bot.io then you should specify your own here. To not use an avatar for a bot, | |||||
| # make the bot's avatar an empty string. | |||||
| avatars: | |||||
| giphy: "mxc://t2bot.io/c5eaab3ef0133c1a61d3c849026deb27" | |||||
| imgur: "mxc://t2bot.io/6749eaf2b302bb2188ae931b2eeb1513" | |||||
| github: "mxc://t2bot.io/905b64b3cd8e2347f91a60c5eb0832e1" | |||||
| wikipedia: "mxc://t2bot.io/7edfb54e9ad9e13fec0df22636feedf1" | |||||
| travisci: "mxc://t2bot.io/7f4703126906fab8bb27df34a17707a8" | |||||
| rss: "mxc://t2bot.io/aace4fcbd045f30afc1b4e5f0928f2f3" | |||||
| google: "mxc://t2bot.io/636ad10742b66c4729bf89881a505142" | |||||
| guggy: "mxc://t2bot.io/e7ef0ed0ba651aaf907655704f9a7526" | |||||
| echo: "mxc://t2bot.io/3407ff2db96b4e954fcbf2c6c0415a13" | |||||
| circleci: "mxc://t2bot.io/cf7d875845a82a6b21f5f66de78f6bee" | |||||
| jira: "mxc://t2bot.io/f4a38ebcc4280ba5b950163ca3e7c329" | |||||
| # Settings for interacting with Telegram. Currently only applies for importing | |||||
| # sticker packs from Telegram. | |||||
| telegram: | |||||
| # Talk to @BotFather on Telegram to get a token | |||||
| botToken: "YourTokenHere" | |||||
| # Settings for controlling how logging works | |||||
| logging: | |||||
| file: /dev/null | |||||
| console: true | |||||
| consoleLevel: verbose | |||||
| fileLevel: info | |||||
| rotate: | |||||
| size: 52428800 # bytes, default is 50mb | |||||
| count: 5 | |||||
| @@ -0,0 +1,5 @@ | |||||
| --- | |||||
| # Doing `|from_yaml` when the extension contains nothing yields an empty string (""). | |||||
| # We need to ensure it's a dictionary or `|combine` (when building `matrix_dimension_configuration`) will fail later. | |||||
| matrix_dimension_configuration_extension: "{{ matrix_dimension_configuration_extension_yaml|from_yaml if matrix_dimension_configuration_extension_yaml|from_yaml else {} }}" | |||||