--- # Generic playbook to deploy one Swarm stack from a repo-tracked compose file. # Usage example: # ansible-playbook -i inventory/hosts.ini playbooks/docker/deploy_swarm_stack.yml \ # -e "stack_name=gitea" \ # -e "stack_compose_src=/home/chester/homelab/ansible/templates/stacks/gitea.stack.yml" \ # -e "stack_required_directories=['/mnt/appdata/gitea']" - name: Deploy one stack from source-controlled compose hosts: swarm_managers become: false gather_facts: false vars_files: - ../../group_vars/all.yml tasks: - name: Deploy from primary manager only ansible.builtin.include_role: name: swarm_stack_deploy when: inventory_hostname == groups['swarm_managers'][0]