- name: "Setup docker network for {{ application_id }}" include_tasks: "{{ [playbook_dir, 'roles/docker-compose/tasks/utils/network.yml' ] | path_join }}" vars: docker_network_name: "{{ OLLAMA_NETWORK }}" docker_network_subnet: "{{ networks.local[application_id].subnet }}" docker_compose_flush_handlers: true - name: Pre-pull Ollama models vars: _cmd: "docker exec -i {{ OLLAMA_CONTAINER }} ollama pull {{ model }}" shell: "{{ _cmd }}" register: pull_result loop: "{{ OLLAMA_PRELOAD_MODELS }}" loop_control: loop_var: model async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" changed_when: > (not (ASYNC_ENABLED | bool)) and ( 'downloaded' in (pull_result.stdout | default('')) or 'pulling manifest' in (pull_result.stdout | default('')) ) failed_when: > (pull_result.rc | default(0)) != 0 and ('up to date' not in (pull_result.stdout | default(''))) - include_tasks: utils/once/flag.yml