- name: Build OCI Stack hosts: Docker tasks: - name: Create folder ansible.builtin.file: path: ~/docker state: directory mode: '0755' - name: Create caddy folder ansible.builtin.file: path: ~/docker/caddy state: directory mode: '0755' - name: Create ddns folder ansible.builtin.file: path: ~/docker/ddns state: directory mode: '0755' - name: Copy encrypted docker-compose ansible.builtin.copy: src: ./vault/compose/docker-compose.yml dest: ~/docker - name: Copy encrypted Caddyfile ansible.builtin.copy: src: ./vault/caddy/Caddyfile dest: ~/docker/caddy/ - name: Copy encrypted ddns config ansible.builtin.copy: src: ./vault/ddns/ddns.json dest: ~/docker/ddns/config.json - name: Start container using Docker Compose ansible.builtin.command: cmd: docker compose up -d chdir: ~/docker ignore_errors: yes - name: Pause for 30 seconds to allow containers to stabilize ansible.builtin.pause: seconds: 30 - name: Check container status ansible.builtin.shell: docker compose ps -q | xargs -n1 docker container inspect --format '{{ "{{" }} .State.Running {{ "}}" }}' args: chdir: ~/docker register: container_status ignore_errors: yes