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

Merge branch 'master' of github.com:spantaleev/matrix-docker-ansible-deploy

pull/2959/head
mcnesium 3 лет назад
Родитель
Сommit
aa9f2fb7b1
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: 7D6CC73E428F633F
7 измененных файлов: 60 добавлений и 16 удалений
  1. +2
    -2
      requirements.yml
  2. +1
    -1
      roles/custom/matrix-bot-chatgpt/defaults/main.yml
  3. +1
    -1
      roles/custom/matrix-client-element/defaults/main.yml
  4. +11
    -5
      roles/custom/matrix-dendrite/defaults/main.yml
  5. +41
    -6
      roles/custom/matrix-dendrite/tasks/setup_install.yml
  6. +3
    -0
      roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-base-domain.conf.j2
  7. +1
    -1
      roles/custom/matrix-synapse/defaults/main.yml

+ 2
- 2
requirements.yml Просмотреть файл

@@ -4,7 +4,7 @@
version: v1.0.0-0
name: aux
- src: git+https://gitlab.com/etke.cc/roles/backup_borg.git
version: v1.2.4-1.7.12-1
version: v1.2.4-1.7.12-2
- src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git
version: v0.1.1-2
- src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git
@@ -35,7 +35,7 @@
version: 6.1.0
name: geerlingguy.docker
- src: git+https://gitlab.com/etke.cc/roles/grafana.git
version: v9.5.1-0
version: v9.5.2-0
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
version: v8615-0
name: jitsi


+ 1
- 1
roles/custom/matrix-bot-chatgpt/defaults/main.yml Просмотреть файл

@@ -4,7 +4,7 @@

matrix_bot_chatgpt_enabled: true

matrix_bot_chatgpt_version: 3.0.0
matrix_bot_chatgpt_version: 3.1.0

matrix_bot_chatgpt_container_image_self_build: false
matrix_bot_chatgpt_container_image_self_build_repo: "https://github.com/matrixgpt/matrix-chatgpt-bot"


+ 1
- 1
roles/custom/matrix-client-element/defaults/main.yml Просмотреть файл

@@ -10,7 +10,7 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/vecto
# - https://github.com/vector-im/element-web/issues/19544
matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}"

matrix_client_element_version: v1.11.30
matrix_client_element_version: v1.11.31
matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_name_prefix }}vectorim/element-web:{{ matrix_client_element_version }}"
matrix_client_element_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_container_global_registry_prefix }}"
matrix_client_element_docker_image_force_pull: "{{ matrix_client_element_docker_image.endswith(':latest') }}"


+ 11
- 5
roles/custom/matrix-dendrite/defaults/main.yml Просмотреть файл

@@ -4,8 +4,12 @@

matrix_dendrite_enabled: true

matrix_dendrite_docker_image: "{{ matrix_dendrite_docker_image_name_prefix }}matrixdotorg/dendrite-monolith:{{ matrix_dendrite_docker_image_tag }}"
matrix_dendrite_docker_image_name_prefix: "docker.io/"
matrix_dendrite_container_image_self_build: false
matrix_dendrite_container_image_self_build_repo: "https://github.com/matrix-org/dendrite.git"

matrix_dendrite_docker_image_path: "matrixdotorg/dendrite-monolith"
matrix_dendrite_docker_image: "{{ matrix_dendrite_docker_image_name_prefix }}{{ matrix_dendrite_docker_image_path }}:{{ matrix_dendrite_docker_image_tag }}"
matrix_dendrite_docker_image_name_prefix: "{{ 'localhost/' if matrix_dendrite_container_image_self_build else matrix_container_global_registry_prefix }}"
matrix_dendrite_docker_image_tag: "v0.12.0"
matrix_dendrite_docker_image_force_pull: "{{ matrix_dendrite_docker_image.endswith(':latest') }}"

@@ -17,6 +21,8 @@ matrix_dendrite_nats_storage_path: "{{ matrix_dendrite_base_path }}/nats"
matrix_dendrite_bin_path: "{{ matrix_dendrite_base_path }}/bin"
matrix_dendrite_ext_path: "{{ matrix_dendrite_base_path }}/ext"

matrix_dendrite_docker_src_files_path: "{{ matrix_dendrite_base_path }}/docker-src"

# By default, we make Dendrite only serve HTTP (not HTTPS).
# HTTPS is usually served at the reverse-proxy side (usually via `matrix-nginx-proxy`).
#
@@ -85,14 +91,14 @@ matrix_dendrite_systemd_wanted_services_list: []
# matrix_dendrite_template_dendrite_config: "{{ playbook_dir }}/inventory/host_vars/<host>/dendrite.yaml.j2"
matrix_dendrite_template_dendrite_config: "{{ role_path }}/templates/dendrite/dendrite.yaml.j2"

matrix_dendrite_client_api_registration_shared_secret: ''
matrix_dendrite_client_api_registration_shared_secret: ""
matrix_dendrite_allow_guest_access: false

matrix_dendrite_max_file_size_bytes: 10485760

# Controls which HTTP header (e.g. 'X-Forwarded-For', 'X-Real-IP') to inspect to find the real remote IP address of the client.
# This is likely required if Dendrite is running behind a reverse proxy server.
matrix_dendrite_sync_api_real_ip_header: 'X-Forwarded-For'
matrix_dendrite_sync_api_real_ip_header: "X-Forwarded-For"

# The tmpfs at /tmp needs to be large enough to handle multiple concurrent file uploads.
matrix_dendrite_tmp_directory_size_mb: 500
@@ -147,7 +153,7 @@ matrix_dendrite_metrics_password: "metrics"

# Postgres database information
matrix_dendrite_database_str: "postgresql://{{ matrix_dendrite_database_user }}:{{ matrix_dendrite_database_password }}@{{ matrix_dendrite_database_hostname }}"
matrix_dendrite_database_hostname: ''
matrix_dendrite_database_hostname: ""
matrix_dendrite_database_user: "dendrite"
matrix_dendrite_database_password: "itsasecret"
matrix_dendrite_federation_api_database: "dendrite_federationapi"


+ 41
- 6
roles/custom/matrix-dendrite/tasks/setup_install.yml Просмотреть файл

@@ -1,17 +1,23 @@
---

- name: Ensure Dendrite paths exist
ansible.builtin.file:
path: "{{ item }}"
path: "{{ item.path }}"
state: directory
mode: 0750
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
with_items:
- "{{ matrix_dendrite_config_dir_path }}"
- "{{ matrix_dendrite_bin_path }}"
- "{{ matrix_dendrite_ext_path }}"
- "{{ matrix_dendrite_nats_storage_path }}"
- path: "{{ matrix_dendrite_config_dir_path }}"
when: true
- path: "{{ matrix_dendrite_bin_path }}"
when: true
- path: "{{ matrix_dendrite_ext_path }}"
when: true
- path: "{{ matrix_dendrite_nats_storage_path }}"
when: true
- path: "{{ matrix_dendrite_docker_src_files_path }}"
when: "{{ matrix_dendrite_container_image_self_build }}"
when: "item.when | bool"

# This will throw a Permission Denied error if already mounted using fuse
- name: Check Dendrite media store path
@@ -37,6 +43,7 @@
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_dendrite_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_dendrite_docker_image_force_pull }}"
when: "not matrix_dendrite_container_image_self_build | bool"
register: result
retries: "{{ devture_playbook_help_container_retries_count }}"
delay: "{{ devture_playbook_help_container_retries_delay }}"
@@ -72,6 +79,34 @@
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"

- when: "matrix_dendrite_container_image_self_build | bool"
block:
- name: Ensure Dendrite repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_dendrite_container_image_self_build_repo }}"
dest: "{{ matrix_dendrite_docker_src_files_path }}"
version: "{{ matrix_dendrite_docker_image.split(':')[1] }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
register: matrix_dendrite_git_pull_results

- name: Check if Dendrite Docker image exists
ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_dendrite_docker_image }}'"
register: matrix_dendrite_docker_image_check_result
changed_when: false

# Invoking the `docker build` command here, instead of calling the `docker_image` Ansible module,
# because the latter does not support BuildKit.
# See: https://github.com/ansible-collections/community.general/issues/514
- name: Ensure Dendrite Docker image is built
ansible.builtin.command:
cmd: "{{ devture_systemd_docker_base_host_command_docker }} build -t {{ matrix_dendrite_docker_image }} {{ matrix_dendrite_docker_src_files_path }}"
environment:
DOCKER_BUILDKIT: 1
changed_when: true
when: "matrix_dendrite_git_pull_results.changed | bool or matrix_dendrite_docker_image_check_result.stdout == ''"

- name: Ensure Dendrite container network is created
community.general.docker_network:
name: "{{ matrix_dendrite_container_network }}"


+ 3
- 0
roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-base-domain.conf.j2 Просмотреть файл

@@ -1,7 +1,10 @@
#jinja2: lstrip_blocks: "True"

{% macro render_vhost_directives() %}
absolute_redirect off;
root {{ matrix_nginx_proxy_data_path_in_container if matrix_nginx_proxy_enabled else matrix_nginx_proxy_data_path }}{{ matrix_nginx_proxy_data_path_extension }};
index index.html index.htm;
try_files $uri $uri/ =404;

gzip on;
gzip_types text/plain application/json;


+ 1
- 1
roles/custom/matrix-synapse/defaults/main.yml Просмотреть файл

@@ -4,7 +4,7 @@

matrix_synapse_enabled: true

matrix_synapse_version: v1.82.0
matrix_synapse_version: v1.83.0

matrix_synapse_username: ''
matrix_synapse_uid: ''


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