--- - name: Create OpenClaw compose directory ansible.builtin.file: path: "{{ openclaw_compose_dir }}" state: directory owner: glyptic group: docker mode: "0755" tags: [openclaw, margaret] - name: Ensure OpenClaw config directory exists ansible.builtin.file: path: "{{ openclaw_config_dir }}" state: directory owner: "{{ openclaw_user_uid }}" group: "{{ openclaw_user_gid }}" mode: "0755" tags: [openclaw, margaret] - name: Deploy OpenClaw (Margaret) compose file ansible.builtin.template: src: docker-compose.yml.j2 dest: "{{ openclaw_compose_dir }}/docker-compose.yml" owner: glyptic group: docker mode: "0644" notify: Restart Margaret tags: [openclaw, margaret] - name: Check if Margaret image exists community.docker.docker_image_info: name: "{{ openclaw_image }}" register: margaret_image tags: [openclaw, margaret] - name: Warn if Margaret image not found ansible.builtin.debug: msg: > Margaret image '{{ openclaw_image }}' not found locally. Build on Bart (192.168.86.181) and transfer: docker save {{ openclaw_image }} | gzip > /tmp/margaret.tar.gz # Transfer via relay and load on Peggy when: margaret_image.images | length == 0 tags: [openclaw, margaret] - name: Start Margaret container community.docker.docker_compose_v2: project_src: "{{ openclaw_compose_dir }}" state: present when: margaret_image.images | length > 0 tags: [openclaw, margaret]