Add restic-rest server role
parent
04e9f8438d
commit
74f9120957
|
@ -1,8 +1,13 @@
|
||||||
raid_uuid: '4d184875-19eb-4923-9b79-bf669c1f7978'
|
raid_uuid: '4d184875-19eb-4923-9b79-bf669c1f7978'
|
||||||
|
|
||||||
lambroek_password: "{{ vault_lambroek_password }}"
|
lambroek_password: "{{ vault_lambroek_password }}"
|
||||||
|
|
||||||
s3_access_key_id: "{{ vault_s3_access_key_id }}"
|
s3_access_key_id: "{{ vault_s3_access_key_id }}"
|
||||||
s3_secret_access_key: "{{ vault_s3_secret_access_key }}"
|
s3_secret_access_key: "{{ vault_s3_secret_access_key }}"
|
||||||
rclone_obf_pass: "{{ vault_rclone_obf_pass }}"
|
rclone_obf_pass: "{{ vault_rclone_obf_pass }}"
|
||||||
rclone_obf_pass2: "{{ vault_rclone_obf_pass2 }}"
|
rclone_obf_pass2: "{{ vault_rclone_obf_pass2 }}"
|
||||||
|
|
||||||
lander_commit_sha: 'e438bd045ca2ee64e3d9ab98f416027b5417c3f6'
|
lander_commit_sha: 'e438bd045ca2ee64e3d9ab98f416027b5417c3f6'
|
||||||
lander_api_key: "{{ vault_lander_api_key }}"
|
lander_api_key: "{{ vault_lander_api_key }}"
|
||||||
|
|
||||||
|
restic_rest_version: '0.12.1'
|
||||||
|
|
7
nas.yml
7
nas.yml
|
@ -55,3 +55,10 @@
|
||||||
roles:
|
roles:
|
||||||
- lander
|
- lander
|
||||||
tags: lander
|
tags: lander
|
||||||
|
|
||||||
|
- name: Install Restic REST server
|
||||||
|
hosts: nas
|
||||||
|
become: yes
|
||||||
|
roles:
|
||||||
|
- restic-rest
|
||||||
|
tags: restic-rest
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
- name: Install NFS client.
|
|
||||||
apt:
|
|
||||||
name: nfs-common
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Mount NFS share.
|
|
||||||
ansible.posix.mount:
|
|
||||||
src: {{ hostvars['admin']['ansible_host'] }}:/mnt/data
|
|
||||||
path: /mnt/data
|
|
||||||
fstype: nfs4
|
|
||||||
opts: defaults,user,exec
|
|
||||||
state: mounted
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Restic REST server
|
||||||
|
After=network.target network-online.target
|
||||||
|
Requires=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=exec
|
||||||
|
User=restic
|
||||||
|
Group=restic
|
||||||
|
ExecStart=/usr/local/bin/restic-rest-server --path /mnt/data1/restic-rest --no-auth
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
|
@ -0,0 +1,69 @@
|
||||||
|
---
|
||||||
|
- name: Ensure download directory is present
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/home/debian/restic-rest-{{ restic_rest_version }}"
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
|
- name: Ensure binary is downloaded
|
||||||
|
ansible.builtin.unarchive:
|
||||||
|
src: "https://github.com/restic/rest-server/releases/download/v{{ restic_rest_version }}/rest-server_{{ restic_rest_version }}_linux_arm64.tar.gz"
|
||||||
|
remote_src: true
|
||||||
|
dest: "/home/debian/restic-rest-{{ restic_rest_version }}"
|
||||||
|
creates: "/home/debian/restic-rest-{{ restic_rest_version }}/rest-server_{{ restic_rest_version }}_linux_arm64/rest-server"
|
||||||
|
include:
|
||||||
|
- "rest-server_{{ restic_rest_version }}_linux_arm64/rest-server"
|
||||||
|
register: res
|
||||||
|
|
||||||
|
- name: Ensure binary is copied to correct location
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "/home/debian/restic-rest-{{ restic_rest_version }}/rest-server_{{ restic_rest_version }}_linux_arm64/rest-server"
|
||||||
|
remote_src: true
|
||||||
|
dest: '/usr/local/bin/restic-rest-server'
|
||||||
|
owner: 'root'
|
||||||
|
group: 'root'
|
||||||
|
mode: '0755'
|
||||||
|
when: 'res.changed'
|
||||||
|
|
||||||
|
- name: Ensure system group exists
|
||||||
|
ansible.builtin.group:
|
||||||
|
name: 'restic'
|
||||||
|
gid: 202
|
||||||
|
system: true
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Ensure system user exists
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: 'restic'
|
||||||
|
group: 'restic'
|
||||||
|
uid: 202
|
||||||
|
system: true
|
||||||
|
create_home: false
|
||||||
|
|
||||||
|
- name: Ensure data directory is present
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: '/mnt/data1/restic-rest'
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
owner: 'restic'
|
||||||
|
group: 'restic'
|
||||||
|
|
||||||
|
- name: Ensure service file is present
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: 'restic-rest-server.service'
|
||||||
|
dest: '/lib/systemd/system/restic-rest-server.service'
|
||||||
|
owner: 'root'
|
||||||
|
group: 'root'
|
||||||
|
mode: '0644'
|
||||||
|
register: res
|
||||||
|
|
||||||
|
- name: systemd-reload
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
daemon_reload: true
|
||||||
|
when: 'res.changed'
|
||||||
|
|
||||||
|
- name: Ensure service is enabled
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: 'restic-rest-server'
|
||||||
|
state: started
|
||||||
|
enabled: true
|
Loading…
Reference in New Issue