vps/roles/element/tasks/main.yml

41 lines
1.4 KiB
YAML

- name: "Create {{ element_project_dir }} project directory"
file:
path: "{{ element_project_dir }}"
state: directory
- name: Template docker-compose.yaml to project directory
template:
src: docker-compose.yaml
dest: "{{ element_project_dir }}/docker-compose.yaml"
owner: "{{ ansible_env['USER'] }}"
group: "{{ ansible_env['USER'] }}"
mode: '640'
- name: Template config.json to project directory
template:
src: config.json
dest: "{{ element_project_dir }}/config.json"
owner: "{{ ansible_env['USER'] }}"
group: "{{ ansible_env['USER'] }}"
mode: '644'
register: element_template_config_result
- name: Pull project services
community.docker.docker_compose:
project_src: "{{ element_project_dir }}"
recreate: never
pull: true
debug: true
when: docker_pull_images | bool
register: element_docker_compose_pull_result
- name: Display pulled image(s) name
set_fact:
element_pulled_images: "{{ element_pulled_images | default([]) + [item.pulled_image.name] }}"
loop: "{{ element_docker_compose_pull_result['actions'] | default([]) | selectattr('pulled_image', 'defined') }}"
- name: Create/Restart project services
community.docker.docker_compose:
project_src: "{{ element_project_dir }}"
# Restart if config file(s) changed
restarted: "{{ element_template_config_result['changed'] | bool }}"