Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>pull/4945/head
| @@ -2840,7 +2840,7 @@ matrix_bot_maubot_homeserver_secret: |- | |||
| }[matrix_homeserver_implementation] | default('') | |||
| }} | |||
| matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_bot_maubot_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_maubot_container_image_registry_prefix_upstream_default }}" | |||
| matrix_bot_maubot_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" | |||
| @@ -26,37 +26,37 @@ matrix_bot_maubot_hostname: '' | |||
| matrix_bot_maubot_path_prefix: /_matrix/maubot | |||
| matrix_bot_maubot_container_image_self_build: false | |||
| matrix_bot_maubot_docker_repo: "https://mau.dev/maubot/maubot.git" | |||
| matrix_bot_maubot_docker_repo_version: "{{ 'master' if matrix_bot_maubot_version == 'latest' else matrix_bot_maubot_version }}" | |||
| matrix_bot_maubot_container_repo: "https://mau.dev/maubot/maubot.git" | |||
| matrix_bot_maubot_container_repo_version: "{{ 'master' if matrix_bot_maubot_version == 'latest' else matrix_bot_maubot_version }}" | |||
| # renovate: datasource=docker depName=dock.mau.dev/maubot/maubot | |||
| matrix_bot_maubot_version: v0.6.0 | |||
| matrix_bot_maubot_docker_image: "{{ matrix_bot_maubot_docker_image_registry_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}" | |||
| matrix_bot_maubot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_docker_image_registry_prefix_upstream }}" | |||
| matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_bot_maubot_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||
| matrix_bot_maubot_docker_image_force_pull: "{{ matrix_bot_maubot_docker_image.endswith(':latest') }}" | |||
| matrix_bot_maubot_container_image: "{{ matrix_bot_maubot_container_image_registry_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}" | |||
| matrix_bot_maubot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_container_image_registry_prefix_upstream }}" | |||
| matrix_bot_maubot_container_image_registry_prefix_upstream: "{{ matrix_bot_maubot_container_image_registry_prefix_upstream_default }}" | |||
| matrix_bot_maubot_container_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||
| matrix_bot_maubot_container_image_force_pull: "{{ matrix_bot_maubot_container_image.endswith(':latest') }}" | |||
| # matrix_bot_maubot_docker_image_customized is the name of the locally built maubot image | |||
| # matrix_bot_maubot_container_image_customized is the name of the locally built maubot image | |||
| # which adds various customizations on top of the original (upstream) maubot image. | |||
| # This image will be based on the upstream `matrix_bot_maubot_docker_image` image, only if `matrix_bot_maubot_container_image_customizations_enabled: true`. | |||
| matrix_bot_maubot_docker_image_customized: "localhost/maubot/maubot:{{ matrix_bot_maubot_version }}-customized" | |||
| # This image will be based on the upstream `matrix_bot_maubot_container_image` image, only if `matrix_bot_maubot_container_image_customizations_enabled: true`. | |||
| matrix_bot_maubot_container_image_customized: "localhost/maubot/maubot:{{ matrix_bot_maubot_version }}-customized" | |||
| # Controls whether the customized image (`matrix_bot_maubot_docker_image_customized`) is to be force-built without layer caching enabled. | |||
| matrix_bot_maubot_docker_image_customized_build_nocache: false | |||
| # Controls whether the customized image (`matrix_bot_maubot_container_image_customized`) is to be force-built without layer caching enabled. | |||
| matrix_bot_maubot_container_image_customized_build_nocache: false | |||
| # Controls whether the customized image (`matrix_bot_maubot_docker_image_customized`) is to be built, even if it already exists. | |||
| # Related to: matrix_bot_maubot_docker_image_customized_build_nocache | |||
| matrix_bot_maubot_docker_image_customized_force_source: "{{ matrix_bot_maubot_docker_image_customized_build_nocache }}" | |||
| # Controls whether the customized image (`matrix_bot_maubot_container_image_customized`) is to be built, even if it already exists. | |||
| # Related to: matrix_bot_maubot_container_image_customized_build_nocache | |||
| matrix_bot_maubot_container_image_customized_force_source: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}" | |||
| # matrix_bot_maubot_docker_image_final holds the name of the maubot image to run depending on whether or not customizations are enabled. | |||
| matrix_bot_maubot_docker_image_final: "{{ matrix_bot_maubot_docker_image_customized if matrix_bot_maubot_container_image_customizations_enabled else matrix_bot_maubot_docker_image }} " | |||
| # matrix_bot_maubot_container_image_final holds the name of the maubot image to run depending on whether or not customizations are enabled. | |||
| matrix_bot_maubot_container_image_final: "{{ matrix_bot_maubot_container_image_customized if matrix_bot_maubot_container_image_customizations_enabled else matrix_bot_maubot_container_image }} " | |||
| matrix_bot_maubot_base_path: "{{ matrix_base_data_path }}/maubot" | |||
| matrix_bot_maubot_data_path: "{{ matrix_bot_maubot_base_path }}/data" | |||
| matrix_bot_maubot_config_path: "{{ matrix_bot_maubot_base_path }}/config" | |||
| matrix_bot_maubot_docker_src_files_path: "{{ matrix_bot_maubot_base_path }}/docker-src" | |||
| matrix_bot_maubot_customized_docker_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src" | |||
| matrix_bot_maubot_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/docker-src" | |||
| matrix_bot_maubot_customized_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src" | |||
| matrix_bot_maubot_bot_server_public_url: "{{ matrix_bot_maubot_scheme }}://{{ matrix_bot_maubot_hostname }}" | |||
| matrix_bot_maubot_bot_server_base_path: "{{ matrix_bot_maubot_path_prefix }}/v1" | |||
| @@ -124,12 +124,12 @@ matrix_bot_maubot_container_additional_networks_custom: [] | |||
| # See: | |||
| # - `roles/custom/matrix-bot-maubot/templates/maubot/customizations/Dockerfile.j2` | |||
| # - `matrix_bot_maubot_container_image_customizations_dockerfile_body_custom` | |||
| # - `matrix_bot_maubot_docker_image_customized` | |||
| # - `matrix_bot_maubot_docker_image_final` | |||
| # - `matrix_bot_maubot_container_image_customized` | |||
| # - `matrix_bot_maubot_container_image_final` | |||
| matrix_bot_maubot_container_image_customizations_enabled: false | |||
| # matrix_bot_maubot_container_image_customizations_dockerfile_body contains your custom Dockerfile steps | |||
| # for building your customized maubot image based on the original (upstream) image (`matrix_bot_maubot_docker_image`). | |||
| # for building your customized maubot image based on the original (upstream) image (`matrix_bot_maubot_container_image`). | |||
| # A `FROM …` clause is included automatically so you don't have to. | |||
| # | |||
| # For this to take effect, you need to enable customizations (`matrix_bot_maubot_container_image_customizations_enabled: true`). | |||
| @@ -23,8 +23,8 @@ | |||
| - {path: "{{ matrix_bot_maubot_data_path }}/plugins", when: true} | |||
| - {path: "{{ matrix_bot_maubot_data_path }}/dbs", when: true} | |||
| - {path: "{{ matrix_bot_maubot_data_path }}/trash", when: true} | |||
| - {path: "{{ matrix_bot_maubot_docker_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_self_build }}"} | |||
| - {path: "{{ matrix_bot_maubot_customized_docker_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_customizations_enabled }}"} | |||
| - {path: "{{ matrix_bot_maubot_container_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_self_build }}"} | |||
| - {path: "{{ matrix_bot_maubot_customized_container_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_customizations_enabled }}"} | |||
| when: "item.when|bool" | |||
| - name: Ensure maubot configuration file created | |||
| @@ -38,10 +38,10 @@ | |||
| - name: Ensure maubot image is pulled | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_bot_maubot_docker_image }}" | |||
| name: "{{ matrix_bot_maubot_container_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_bot_maubot_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_bot_maubot_docker_image_force_pull }}" | |||
| force_source: "{{ matrix_bot_maubot_container_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_bot_maubot_container_image_force_pull }}" | |||
| when: "not matrix_bot_maubot_container_image_self_build|bool" | |||
| register: matrix_bot_maubot_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| @@ -52,9 +52,9 @@ | |||
| block: | |||
| - name: Ensure maubot repository is present on self-build | |||
| ansible.builtin.git: | |||
| repo: "{{ matrix_bot_maubot_docker_repo }}" | |||
| version: "{{ matrix_bot_maubot_docker_repo_version }}" | |||
| dest: "{{ matrix_bot_maubot_docker_src_files_path }}" | |||
| repo: "{{ matrix_bot_maubot_container_repo }}" | |||
| version: "{{ matrix_bot_maubot_container_repo_version }}" | |||
| dest: "{{ matrix_bot_maubot_container_src_files_path }}" | |||
| force: "yes" | |||
| become: true | |||
| become_user: "{{ matrix_user_name }}" | |||
| @@ -62,13 +62,13 @@ | |||
| - name: Ensure maubot image is built | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_bot_maubot_docker_image }}" | |||
| name: "{{ matrix_bot_maubot_container_image }}" | |||
| source: build | |||
| force_source: "{{ matrix_bot_maubot_git_pull_results.changed 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_bot_maubot_git_pull_results.changed }}" | |||
| build: | |||
| dockerfile: Dockerfile | |||
| path: "{{ matrix_bot_maubot_docker_src_files_path }}" | |||
| path: "{{ matrix_bot_maubot_container_src_files_path }}" | |||
| pull: true | |||
| - when: "matrix_bot_maubot_container_image_customizations_enabled | bool" | |||
| @@ -76,7 +76,7 @@ | |||
| - name: Ensure customizations Dockerfile is created | |||
| ansible.builtin.template: | |||
| src: "{{ role_path }}/templates/customizations/Dockerfile.j2" | |||
| dest: "{{ matrix_bot_maubot_customized_docker_src_files_path }}/Dockerfile" | |||
| dest: "{{ matrix_bot_maubot_customized_container_src_files_path }}/Dockerfile" | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| mode: '0640' | |||
| @@ -84,13 +84,13 @@ | |||
| - name: Ensure customized Docker image for maubot is built | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_bot_maubot_docker_image_customized }}" | |||
| name: "{{ matrix_bot_maubot_container_image_customized }}" | |||
| source: build | |||
| force_source: "{{ matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_docker_image_customized_force_source }}" | |||
| force_source: "{{ matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_container_image_customized_force_source }}" | |||
| build: | |||
| dockerfile: Dockerfile | |||
| path: "{{ matrix_bot_maubot_customized_docker_src_files_path }}" | |||
| nocache: "{{ matrix_bot_maubot_docker_image_customized_build_nocache }}" | |||
| path: "{{ matrix_bot_maubot_customized_container_src_files_path }}" | |||
| nocache: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}" | |||
| - name: Ensure maubot support files installed | |||
| ansible.builtin.template: | |||
| @@ -18,6 +18,19 @@ | |||
| - {'old': 'matrix_bot_maubot_management_interface_http_bind_port', 'new': 'matrix_bot_maubot_container_management_interface_http_bind_port'} | |||
| - {'old': 'matrix_bot_maubot_registration_shared_secret', 'new': 'matrix_bot_maubot_homeserver_secret'} | |||
| - {'old': 'matrix_bot_maubot_container_image_name_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'} | |||
| - {'old': 'matrix_bot_maubot_docker_image', 'new': 'matrix_bot_maubot_container_image'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_customized', 'new': 'matrix_bot_maubot_container_image_customized'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_customized_build_nocache', 'new': 'matrix_bot_maubot_container_image_customized_build_nocache'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_customized_force_source', 'new': 'matrix_bot_maubot_container_image_customized_force_source'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_final', 'new': 'matrix_bot_maubot_container_image_final'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_force_pull', 'new': 'matrix_bot_maubot_container_image_force_pull'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_registry_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_maubot_container_image_registry_prefix_upstream'} | |||
| - {'old': 'matrix_bot_maubot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_maubot_container_image_registry_prefix_upstream_default'} | |||
| - {'old': 'matrix_bot_maubot_docker_repo', 'new': 'matrix_bot_maubot_container_repo'} | |||
| - {'old': 'matrix_bot_maubot_docker_repo_version', 'new': 'matrix_bot_maubot_container_repo_version'} | |||
| - {'old': 'matrix_bot_maubot_docker_src_files_path', 'new': 'matrix_bot_maubot_container_src_files_path'} | |||
| - {'old': 'matrix_bot_maubot_customized_docker_src_files_path', 'new': 'matrix_bot_maubot_customized_container_src_files_path'} | |||
| - name: Fail if required maubot settings not defined | |||
| ansible.builtin.fail: | |||
| @@ -1,4 +1,4 @@ | |||
| #jinja2: lstrip_blocks: True | |||
| FROM {{ matrix_bot_maubot_docker_image }} | |||
| FROM {{ matrix_bot_maubot_container_image }} | |||
| {{ matrix_bot_maubot_container_image_customizations_dockerfile_body_custom }} | |||
| @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||
| {% if matrix_bot_maubot_container_management_interface_http_bind_port %} | |||
| -p {{ matrix_bot_maubot_container_management_interface_http_bind_port }}:{{ matrix_bot_maubot_server_port }} \ | |||
| {% endif %} | |||
| {{ matrix_bot_maubot_docker_image_final }} \ | |||
| {{ matrix_bot_maubot_container_image_final }} \ | |||
| python3 -m maubot -c /config/config.yaml --no-update | |||
| {% for network in matrix_bot_maubot_container_additional_networks %} | |||