--- # docker tasks file for n8n - name: Ensure n8n directory exists ansible.builtin.file: path: "{{ n8n_home }}" state: directory - name: Ensure n8n data directory exists ansible.builtin.file: path: "{{ n8n_home }}/data" state: directory owner: "{{ n8n_docker_uid }}" group: "{{ n8n_docker_gid }}" mode: "0750" become: true - name: Generate n8n docker-compose template ansible.builtin.template: src: "{{ n8n_docker_options.compose_template | default('docker-compose.yml.j2') }}" dest: "{{ n8n_home }}/docker-compose.yml" - name: Generate n8n env template ansible.builtin.template: src: "{{ n8n_docker_options.env_template | default('n8n-docker.env.j2') }}" dest: "{{ n8n_home }}/.env" - name: Generate n8n systemd service ansible.builtin.template: src: "{{ n8n_docker_options.systemd_template | default('n8n-docker.service.j2') }}" dest: "/etc/systemd/system/{{ n8n_unit_name }}.service" become: true when: n8n_systemd - name: Deploy n8n community.docker.docker_compose_v2: project_src: "{{ n8n_home }}" files: - docker-compose.yml build: never - name: Reload systemd daemon ansible.builtin.systemd: daemon_reload: true become: true when: n8n_systemd - name: Enable and start {{ n8n_unit_name }} service ansible.builtin.systemd: name: "{{ n8n_unit_name }}" enabled: true state: started become: true when: n8n_systemd