| @@ -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 | |||
| @@ -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" | |||
| @@ -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') }}" | |||
| @@ -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" | |||
| @@ -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 }}" | |||
| @@ -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; | |||
| @@ -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: '' | |||