- name: create sites directory become: true file: path: '/srv/docker' state: directory owner: root group: root mode: 0755 - name: create newsreader app directory become: true file: path: '{{ app_dir }}' state: directory mode: '0755' owner: 'sonny' group: 'sonny' - name: clone project git: repo: '{{ app_repository }}' dest: '{{ app_dir }}' version: '{{ app_ref }}' update: true - name: copy templates template: src: '{{ item.src }}' dest: '{{ item.dest }}' loop: - { src: 'templates/env.j2', dest: '{{ app_dir }}/.production.env' } - { src: 'templates/docker-compose.j2', dest: '{{ app_dir }}/docker-compose.resources.yml' } - name: stop newsreader command: > docker compose --env-file .production.env --file docker-compose.yml --file docker-compose.production.yml --file docker-compose.resources.yml down args: chdir: '{{ app_dir }}' # to allow next startup to generate a new volume - name: remove static volume command: docker volume rm newsreader_static-files - name: build newsreader command: > docker compose --env-file .production.env --file docker-compose.yml --file docker-compose.production.yml --file docker-compose.resources.yml build args: chdir: '{{ app_dir }}' - name: start newsreader command: > docker compose --env-file .production.env --file docker-compose.yml --file docker-compose.production.yml --file docker-compose.resources.yml up --detach args: chdir: '{{ app_dir }}'