--- - hosts: all become: yes remote_user: ansible gather_facts: true vars: tasks: #- name: Setup PVE node for transcoding and vpn # ansible.builtin.command: /usr/bin/ansible-playbook ./roles/ind/grail/set-pvenode.yml -k # delegate_to: 127.0.0.1 - name: set-debcache.yml - Setup apt proxy debcache import_tasks: ../../lib/set-debcache.yml - name: Upgrade-packages.yml - update packages import_tasks: ../../lib/upgrade-packages.yml - name: Install-docker.yml - setting up docker import_tasks: ../../lib/install-docker.yml - name: Setup-netbird.yml - setting up netbird mesh vpn import_tasks: ../../lib/setup-netbird.yml - name: Create grail user user: name: grail uid: 2003 group: docker state: present create_home: yes home: /data shell: /bin/bash - name: Install nfs Packages apt: name: - nfs-common state: present update_cache: no - name: Install Python Packages apt: name: - python3-full - python3-pip state: present update_cache: yes - name: Setup Service copy: dest: /etc/systemd/system/grail.service content: | [Unit] Description=Docker Compose service Requires=docker.service After=docker.service [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/home/grail ExecStart=/usr/bin/docker compose --env-file ./docker-compose.env -f docker-compose.yml up -d ExecStop=/usr/bin/docker compose --env-file ./docker-compose.env -f docker-compose.yml down [Install] WantedBy=multi-user.target owner: root group: root mode: '0644' - name: Create /home/grail/ ansible.builtin.file: path: /home/grail owner: grail group: docker state: directory - name: Write docker-compose.yml ansible.builtin.copy: src: docker-compose.yml dest: /home/grail/docker-compose.yml owner: grail group: docker mode: u=rw,g=r,o=r - name: Write docker-compose.env ansible.builtin.copy: src: docker-compose.env dest: /home/grail/docker-compose.env owner: grail group: docker mode: u=rw,g=r,o=r - name: Check if docker config directory exists stat: path: /home/grail/docker/qbittorrent register: grail_stat - name: Restore docker config Dir shell: | restic --password-file /home/restic/.resticpassword -r sftp:misamisa://home/restic/$(hostname) --target / restore latest args: chdir: /home/grail/ creates: /home/grail/qbitorrent when: not grail_stat.stat.exists or not grail_stat.stat.isdir - name: Reload systemd daemon systemd: daemon_reload: yes - name: Start grail Service systemd: name: grail state: started enabled: yes