- name: flush handlers to ensure that friendica is up before friendica addon configuration meta: flush_handlers - name: Build friendica_addons based on features set_fact: friendica_addons: >- {{ friendica_addons | default([]) + [{ 'name': item.key, 'enabled': ( applications | get_app_conf(application_id, 'features.oidc', True) if item.key == 'keycloakpassword' else applications | get_app_conf(application_id, 'features.ldap', True) if item.key == 'ldapauth' else (item.value.enabled if item.value is mapping and 'enabled' in item.value else False) ) }] }} loop: "{{ applications | get_app_conf(application_id, 'addons', True) | dict2items }}" loop_control: label: "{{ item.key }}" - name: Ensure Friendica addons are in sync command: > docker compose exec --user {{ friendica_user }} application bin/console addon {{ 'enable' if item.enabled else 'disable' }} {{ item.name }} args: chdir: "{{ docker_compose.directories.instance }}" loop: "{{ friendica_addons }}" loop_control: label: "{{ item.name }}"