--- - hosts: all any_errors_fatal: true tasks: - name: Update Ubuntu server apt: update_cache: yes upgrade: dist - name: Install apt packages apt: name: [ 'docker-compose', 'borgbackup' ] state: latest - name: Create /home/vps/ base directory file: path: /home/vps/ state: directory - name: Create symlink to attached volume file: src: /mnt/${VPS_VOLUME_NAME} dest: /home/vps/volumes state: link - name: Create required vhost conf directory file: path: /home/vps/volumes/vhost-conf state: directory mode: '0755' - name: Copy local interpolated files to remote copy: src={{ item.src }} dest={{ item.dest }} mode={{ item.mode }} with_items: - { src: './generated/restore-backup.sh', dest: '/home/vps/restore-backup.sh', mode: '500' } - { src: './secrets/borg/borg-remote.pub', dest: '/root/.ssh/id_rsa.pub', mode: '400' } - { src: './secrets/borg/borg-remote', dest: '/root/.ssh/id_rsa', mode: '400' } - { src: './secrets/borg/known-hosts.txt', dest: '/root/.ssh/known_hosts', mode: '400' } - { src: './scripts/box/bash-profile.sh', dest: '/root/.bash_profile', mode: '400' } - { src: './generated/docker-compose.yaml', dest: '/home/vps/docker-compose.yaml', mode: '400' } - { src: './nextcloud-vhost.conf', dest: '/home/vps/volumes/vhost-conf/${NEXTCLOUD_TLD}', mode: '400' } - name: Restore borg backup when we have a fresh volume shell: /home/vps/restore-backup.sh when: lookup('env', 'DESTROY_VPS') == "1" - name: Create the required Docker network docker_network: name: nginx-proxy-network - name: Start docker-compose docker_compose: project_src: /home/vps/ pull: yes state: present