- 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