97 lines
2.2 KiB
YAML
97 lines
2.2 KiB
YAML
---
|
|
|
|
# Get latest Rclone version via downloads.rclone.org/version.txt
|
|
- name: Check latest stable rclone version
|
|
uri:
|
|
url: https://downloads.rclone.org/version.txt
|
|
return_content: true
|
|
delegate_to: localhost
|
|
run_once: true
|
|
register:
|
|
rclone_version
|
|
- name: "{{ rclone_version.content }}"
|
|
set_fact:
|
|
rclone_version: "{{ rclone_version.content | replace ('rclone v', '', 1) | trim }}"
|
|
run_once: true
|
|
|
|
- name: Download rclone {{ rclone_version }}
|
|
get_url:
|
|
url: "https://downloads.rclone.org/v{{ rclone_version }}/\
|
|
rclone-v{{ rclone_version }}-linux-{{ deb_architecture }}.deb"
|
|
dest: "/var/tmp/rclone.deb"
|
|
register: _download_deb
|
|
until: _download_deb is succeeded
|
|
retries: 3
|
|
delay: 5
|
|
|
|
- name: Install rclone
|
|
apt:
|
|
deb: "/var/tmp/rclone.deb"
|
|
|
|
- name: Symlink rclone binary to use mount helper
|
|
file:
|
|
src: "/usr/bin/rclone"
|
|
dest: "/sbin/mount.rclone"
|
|
state: link
|
|
|
|
- name: Create rclone config directory
|
|
file:
|
|
path: "{{ rclone_config_dir }}"
|
|
state: directory
|
|
mode: 700
|
|
|
|
- name: Create rclone group
|
|
group:
|
|
name: "{{ rclone_system_group }}"
|
|
state: present
|
|
system: true
|
|
register: created_rclone_group
|
|
when: rclone_system_group != "root"
|
|
|
|
- name: Create rclone user
|
|
user:
|
|
name: "{{ rclone_system_user }}"
|
|
group: "{{ rclone_system_group }}"
|
|
groups: "{{ rclone_system_group }}"
|
|
append: true
|
|
shell: /usr/sbin/nologin
|
|
system: true
|
|
create_home: false
|
|
home: /
|
|
register: created_rclone_user
|
|
|
|
- name: adding existing user {{ main_user }} to group rclone
|
|
user:
|
|
name: "{{ main_user }}"
|
|
groups: "{{ rclone_system_group }}"
|
|
append: true
|
|
|
|
- name: Create rclone cache/log directory
|
|
file:
|
|
path: "{{ item }}"
|
|
mode: 0755
|
|
state: directory
|
|
loop:
|
|
- "{{ rclone_cache_dir }}"
|
|
- "{{ rclone_log_dir }}"
|
|
|
|
- name: Copy rclone logrotate file
|
|
template:
|
|
src: logrotate.rclone.j2
|
|
dest: /etc/logrotate.d/rclone
|
|
mode: 0644
|
|
|
|
- name: Copy service account files
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: "{{ rclone_config_dir }}/{{ item }}"
|
|
mode: 0600
|
|
loop:
|
|
- TD_DTSV_service_account.json
|
|
|
|
- name: Copy config password script
|
|
copy:
|
|
src: set-rclone-password
|
|
dest: ~/set-rclone-password
|
|
mode: 0644
|