diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index fe0cf78..e032782 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -54,6 +54,9 @@ roles: - certbot +- name: Ensure OnlyOffice custom fonts + ansible.builtin.import_playbook: onlyoffice_fonts.yaml + - name: Ensure Docker Compose deployment on docker_compose_hosts hosts: docker_compose_hosts roles: diff --git a/playbooks/onlyoffice_fonts.yaml b/playbooks/onlyoffice_fonts.yaml new file mode 100644 index 0000000..00ad32e --- /dev/null +++ b/playbooks/onlyoffice_fonts.yaml @@ -0,0 +1,54 @@ +- name: Ensure custom fonts are added to OnlyOffice + hosts: onlyoffice + tasks: + - name: ensure the `/ansible_docker_compose/fonts/export` directory exists + ansible.builtin.file: + path: /ansible_docker_compose/fonts/export + state: directory + mode: "0755" + owner: root + group: root + become: true + + # Relevant volume added in onlyoffice compose.yaml. + + # Add di.day fonts. + # See: https://codeberg.org/DI-Day/creative-identity/src/commit/864876576996394cec34fd54e739c8b1236ab4c8/assets/README.md + - name: (di.day fonts) ensure source is present + ansible.builtin.get_url: + url: https://codeberg.org/DI-Day/creative-identity/archive/864876576996394cec34fd54e739c8b1236ab4c8:assets/fonts.tar.gz + dest: /ansible_docker_compose/fonts/diday_src.tar.gz + checksum: sha256:b343593b86df46b559b592b49b6f07a864b3435b8b202f2f52e31c27fc0dbedb + mode: "0644" + owner: root + group: root + become: true + register: onlyoffice_fonts__diday_src + + - name: (di.day fonts) ensure export is absent + ansible.builtin.file: + path: /ansible_docker_compose/fonts/export/diday + state: absent + become: true + when: onlyoffice_fonts__diday_src.changed # noqa: no-handler + + - name: (di.day fonts) ensure export directory is absent + ansible.builtin.file: + path: /ansible_docker_compose/fonts/export/diday + state: directory + mode: "0755" + owner: root + group: root + become: true + when: onlyoffice_fonts__diday_src.changed # noqa: no-handler + + - name: (di.day fonts) ensure export has content + ansible.builtin.unarchive: + remote_src: true + src: /ansible_docker_compose/fonts/diday_src.tar.gz + dest: /ansible_docker_compose/fonts/export/diday + mode: "0755" + owner: root + group: root + become: true + when: onlyoffice_fonts__diday_src.changed # noqa: no-handler diff --git a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index 8bc37e9..5f3478d 100644 --- a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 @@ -11,6 +11,7 @@ services: - "./onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data" - "./onlyoffice/DocumentServer/lib:/var/lib/onlyoffice" - "./onlyoffice/DocumentServer/db:/var/lib/postgresql" + - "./fonts/export:/usr/share/fonts/custom:ro" ports: - "8080:80" environment: