diff options
Diffstat (limited to 'provision.env.yaml')
-rw-r--r-- | provision.env.yaml | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/provision.env.yaml b/provision.env.yaml new file mode 100644 index 0000000..07fd3f0 --- /dev/null +++ b/provision.env.yaml @@ -0,0 +1,48 @@ +--- +- hosts: all + any_errors_fatal: true + gather_facts: no + pre_tasks: + - name: Install Python 2 for Ansible fact gathering + raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal) + +- 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: 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' } + - name: Restore borg backup when we have a fresh volume + shell: /home/vps/restore-backup.sh + when: lookup('env', 'DESTROY_VOLUME') == "1" + - name: Create the required Docker network + docker_network: + name: nginx-proxy + - name: Start docker-compose + docker_compose: + project_src: /home/vps/ + pull: yes + state: present |