Просмотр исходного кода

Add additional changes for Dimension to work

pull/107/head
Edgars Voroboks 7 лет назад
Родитель
Сommit
1eb78ca93e
7 измененных файлов: 53 добавлений и 6 удалений
  1. +21
    -0
      group_vars/matrix-servers
  2. +9
    -2
      roles/matrix-dimension/defaults/main.yml
  3. +6
    -0
      roles/matrix-dimension/tasks/main.yml
  4. +6
    -3
      roles/matrix-dimension/tasks/setup_dimension.yml
  5. +7
    -0
      roles/matrix-dimension/tasks/validate_config.yml
  6. +1
    -1
      roles/matrix-dimension/templates/config.yaml.j2
  7. +3
    -0
      roles/matrix-dimension/templates/systemd/matrix-dimension.service.j2

+ 21
- 0
group_vars/matrix-servers Просмотреть файл

@@ -99,6 +99,27 @@ matrix_coturn_enabled: true



######################################################################
#
# matrix-dimension
#
######################################################################

matrix_dimension_enabled: false

# Normally, matrix-nginx-proxy is enabled and nginx can reach Dimension over the container network.
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
# the Dimension HTTP port to the local host (`127.0.0.1:8184`).
matrix_dimension_container_expose_port: {{ not matrix_nginx_proxy_enabled }}

######################################################################
#
# /matrix-dimension
#
######################################################################



######################################################################
#
# matrix-mailer


+ 9
- 2
roles/matrix-dimension/defaults/main.yml Просмотреть файл

@@ -1,15 +1,22 @@
matrix_dimension_enabled: false

# You are required to specify an access token for Dimension to work.
# For information on how to acquire an access token, visit https://t2bot.io/docs/access_tokens
matrix_dimension_access_token: CHANGEME
matrix_dimension_access_token: ""

# Users in form: ['@user1:domain.com', '@user2:domain.com']
matrix_dimension_admin: []
matrix_dimension_admins: []

matrix_dimension_base_path: "{{ matrix_base_data_path }}/dimension"

matrix_dimension_docker_image: "turt2live/matrix-dimension:latest"

# The user and group id correspond to the node user in the `turt2live/matrix-dimension` image.
matrix_dimension_user_uid: 1000
matrix_dimension_user_gid: 1000

matrix_dimension_container_expose_port: false

matrix_dimension_integrations_ui_url: "https://{{ matrix_server_fqn_dimension }}/riot"
matrix_dimension_integrations_rest_url: "https://{{ matrix_server_fqn_dimension }}/api/v1/scalar"
matrix_dimension_integrations_widgets_urls: ["https://{{ matrix_server_fqn_dimension }}/widgets"]


+ 6
- 0
roles/matrix-dimension/tasks/main.yml Просмотреть файл

@@ -2,6 +2,12 @@
tags:
- always

- import_tasks: "{{ role_path }}/tasks/validate_config.yml"
when: run_setup
tags:
- setup-all
- setup-dimension

- import_tasks: "{{ role_path }}/tasks/setup_dimension.yml"
when: run_setup
tags:


+ 6
- 3
roles/matrix-dimension/tasks/setup_dimension.yml Просмотреть файл

@@ -8,16 +8,18 @@
file:
path: "{{ matrix_dimension_base_path }}"
state: directory
mode: 0750
mode: 0770
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}"
group: "{{ matrix_dimension_user_gid }}"
when: matrix_dimension_enabled

- name: Ensure dimension environment variables file created
template:
src: "{{ role_path }}/templates/config.yaml.j2"
dest: "{{ matrix_dimension_base_path }}/config.yaml"
mode: 0644
mode: 0640
owner: "{{ matrix_user_username }}"
group: "{{ matrix_dimension_user_gid }}"
when: matrix_dimension_enabled

- name: Ensure dimension image is pulled
@@ -46,6 +48,7 @@
stat:
path: "/etc/systemd/system/matrix-dimension.service"
register: matrix_dimension_service_stat
when: not matrix_dimension_enabled

- name: Ensure matrix-dimension is stopped
service:


+ 7
- 0
roles/matrix-dimension/tasks/validate_config.yml Просмотреть файл

@@ -0,0 +1,7 @@
- name: Fail if required Dimension settings not defined
fail:
msg: >-
You need to define a required configuration setting (`{{ item }}`) for using Dimension.
with_items:
- "matrix_dimension_access_token"
when: "matrix_dimension_enabled and vars[item] == ''"

+ 1
- 1
roles/matrix-dimension/templates/config.yaml.j2 Просмотреть файл

@@ -12,7 +12,7 @@ homeserver:

# The URL that Dimension, go-neb, and other services provisioned by Dimension should
# use to access the homeserver with.
clientServerUrl: "https://{{ matrix_domain }}"
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


+ 3
- 0
roles/matrix-dimension/templates/systemd/matrix-dimension.service.j2 Просмотреть файл

@@ -9,9 +9,12 @@ ExecStartPre=-/usr/bin/docker kill matrix-dimension
ExecStartPre=-/usr/bin/docker rm matrix-dimension
ExecStart=/usr/bin/docker run --rm --name matrix-dimension \
--log-driver=none \
--user={{ matrix_dimension_user_uid }}:{{ matrix_dimension_user_gid }} \
--cap-drop=ALL \
--network={{ matrix_docker_network }} \
{% if matrix_dimension_container_expose_port %}
-p 127.0.0.1:8184:8184 \
{% endif %}
-v {{ matrix_dimension_base_path }}:/data:rw \
{{ matrix_dimension_docker_image }}
ExecStop=-/usr/bin/docker kill matrix-dimension


Загрузка…
Отмена
Сохранить