--- - name: Create newsreader app directory become: true ansible.builtin.file: path: "{{ newsreader_app_dir }}" state: directory owner: sonny group: sonny mode: "0755" - name: Clone project ansible.builtin.git: repo: "{{ newsreader_app_repository }}" dest: "{{ newsreader_app_dir }}" version: "{{ newsreader_app_ref }}" - name: Copy templates ansible.builtin.template: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: "{{ item.mode }}" loop: - src: templates/newsreader/env.j2 dest: "{{ newsreader_app_dir }}/.production.env" mode: "0750" - src: templates/newsreader/docker-compose.j2 dest: "{{ newsreader_app_dir }}/docker-compose.resources.yml" mode: "0750" - name: Stop current containers community.docker.docker_compose_v2: project_src: "{{ newsreader_app_dir }}" env_files: - .production.env state: absent - name: Remove dangling containers community.docker.docker_compose_v2: project_src: "{{ newsreader_app_dir }}" remove_orphans: true state: absent # Note: requires python's requests module - name: Remove static volume community.docker.docker_volume: volume_name: newsreader_static-files state: absent - name: Start container community.docker.docker_compose_v2: env_files: - .production.env files: - docker-compose.yml - docker-compose.production.yml - docker-compose.resources.yml project_src: "{{ newsreader_app_dir }}" build: always state: present