Fixed mautrix-telegram selfbuild not working on non amd64 platforms

This commit is contained in:
Toorero 2021-07-16 16:08:51 +02:00
parent aa6398a948
commit 7f15787d54
3 changed files with 39 additions and 1 deletions

View File

@ -393,6 +393,8 @@ matrix_mautrix_telegram_enabled: false
# Images are multi-arch (amd64 and arm64, but not arm32).
matrix_mautrix_telegram_container_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
matrix_lottieconverter_container_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
matrix_lottieconverter_container_self_build_mask_arch: "{{ matrix_architecture != 'amd64' }}"
matrix_mautrix_telegram_systemd_required_services_list: |
{{

View File

@ -3,6 +3,12 @@
matrix_mautrix_telegram_enabled: true
matrix_lottieconverter_container_self_build: false
matrix_lottieconverter_container_self_build_mask_arch: false
matrix_lottieconverter_docker_repo: "https://mau.dev/tulir/lottieconverter.git"
matrix_lottieconverter_docker_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src"
matrix_lottieconverter_docker_image: "dock.mau.dev/tulir/lottieconverter:alpine-3.14" # needs to be ajusted according to FROM clause of Dockerfile of mautrix-telegram
matrix_mautrix_telegram_container_self_build: false
matrix_mautrix_telegram_docker_repo: "https://mau.dev/tulir/mautrix-telegram.git"
matrix_mautrix_telegram_docker_src_files_path: "{{ matrix_base_data_path }}/mautrix-telegram/docker-src"

View File

@ -56,6 +56,26 @@
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_docker_image_force_pull }}"
when: "not matrix_mautrix_telegram_container_self_build|bool"
- name: Ensure lottieconverter is present when self-building
git:
repo: "{{ matrix_lottieconverter_docker_repo }}"
dest: "{{ matrix_lottieconverter_docker_src_files_path }}"
force: "yes"
register: matrix_lottieconverter_git_pull_results
when: "matrix_lottieconverter_container_self_build|bool and matrix_mautrix_telegram_container_self_build|bool"
- name: Ensure lottieconverter Docker image is built
docker_image:
name: "{{ matrix_lottieconverter_docker_image }}"
source: build
force_source: "{{ matrix_lottieconverter_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_lottieconverter_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_lottieconverter_docker_src_files_path }}"
pull: yes
when: "matrix_lottieconverter_container_self_build|bool and matrix_lottieconverter_git_pull_results.changed and matrix_mautrix_telegram_container_self_build|bool"
- name: Ensure matrix-mautrix-telegram repository is present when self-building
git:
repo: "{{ matrix_mautrix_telegram_docker_repo }}"
@ -63,6 +83,11 @@
force: "yes"
register: matrix_mautrix_telegram_git_pull_results
when: "matrix_mautrix_telegram_container_self_build|bool"
ignore_errors: yes
- name: Ensure TARGETARCH is beeing masked
command: sed -i "3s/ARG/#ARG/" "{{ matrix_mautrix_telegram_docker_src_files_path }}/Dockerfile"
when: "matrix_lottieconverter_container_self_build_mask_arch|bool"
- name: Ensure matrix-mautrix-telegram Docker image is built
docker_image:
@ -73,9 +98,14 @@
build:
dockerfile: Dockerfile
path: "{{ matrix_mautrix_telegram_docker_src_files_path }}"
pull: yes
pull: "{{ not matrix_lottieconverter_container_self_build_mask_arch|bool }}"
when: "matrix_mautrix_telegram_container_self_build|bool and matrix_mautrix_telegram_git_pull_results.changed"
# Unmask so no git changes are beeing detected
- name: Ensure TARGETARCH is beeing unmasked
command: sed -i "3s/#ARG/ARG/" "{{ matrix_mautrix_telegram_docker_src_files_path }}/Dockerfile"
when: "matrix_lottieconverter_container_self_build_mask_arch|bool"
- name: Check if an old database file already exists
stat:
path: "{{ matrix_mautrix_telegram_base_path }}/mautrix-telegram.db"