Rework Paperless-ngx around Caddy, network, and storage roles
This commit is contained in:
1 parent
c2ecde0341
commit
83c2ca2187
14 files changed
+216
-83
No files matched your search
@@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: Restart rclone mounts
|
||||
systemd:
|
||||
name: "paperless-{{ item.name }}.service"
|
||||
state: restarted
|
||||
daemon_reload: true
|
||||
loop: "{{ rclone_mounts }}"
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
# rclone FUSE mounts so consume/export (Nextcloud WebDAV) and media (S3)
|
||||
# take no space on the VPS beyond a small cache.
|
||||
- name: Install rclone and fuse
|
||||
apt:
|
||||
name:
|
||||
- rclone
|
||||
- fuse3
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Obscure the Nextcloud password for rclone
|
||||
command: rclone obscure "{{ nextcloud_app_password }}"
|
||||
register: obscured_pass
|
||||
changed_when: false
|
||||
no_log: true
|
||||
|
||||
- name: Write rclone config
|
||||
template:
|
||||
src: rclone.conf.j2
|
||||
dest: /etc/rclone-paperless.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0600"
|
||||
no_log: true
|
||||
notify: Restart rclone mounts
|
||||
|
||||
- name: Ensure mount points and cache exist
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
loop:
|
||||
- /mnt/paperless
|
||||
- "{{ rclone_cache_dir }}"
|
||||
- /mnt/paperless/consume
|
||||
- /mnt/paperless/export
|
||||
- /mnt/paperless/media
|
||||
|
||||
- name: Ensure the Nextcloud folders exist
|
||||
command: rclone --config /etc/rclone-paperless.conf mkdir "{{ item.remote }}"
|
||||
loop: "{{ rclone_mounts }}"
|
||||
changed_when: false
|
||||
|
||||
- name: Install mount units
|
||||
template:
|
||||
src: rclone-mount.service.j2
|
||||
dest: "/etc/systemd/system/paperless-{{ item.name }}.service"
|
||||
mode: "0644"
|
||||
loop: "{{ rclone_mounts }}"
|
||||
notify: Restart rclone mounts
|
||||
|
||||
- name: Enable and start mount units
|
||||
systemd:
|
||||
name: "paperless-{{ item.name }}.service"
|
||||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
||||
loop: "{{ rclone_mounts }}"
|
||||
@@ -0,0 +1,19 @@
|
||||
[Unit]
|
||||
Description=rclone mount for Paperless {{ item.name }}
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
Before=docker.service
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
ExecStart=/usr/bin/rclone mount {{ item.remote }} /mnt/paperless/{{ item.name }} \
|
||||
--config /etc/rclone-paperless.conf \
|
||||
--allow-other --uid {{ paperless_uid }} --gid {{ paperless_uid }} --umask 022 \
|
||||
--vfs-cache-mode {{ item.cache }} --cache-dir {{ rclone_cache_dir }} \
|
||||
--vfs-cache-max-size 2G --dir-cache-time 30s
|
||||
ExecStop=/bin/fusermount3 -u /mnt/paperless/{{ item.name }}
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,13 @@
|
||||
[nextcloud]
|
||||
type = webdav
|
||||
url = {{ nextcloud_url }}/remote.php/dav/files/{{ nextcloud_user }}
|
||||
vendor = nextcloud
|
||||
user = {{ nextcloud_user }}
|
||||
pass = {{ obscured_pass.stdout }}
|
||||
|
||||
[s3]
|
||||
type = s3
|
||||
provider = AWS
|
||||
access_key_id = {{ s3_access_key }}
|
||||
secret_access_key = {{ s3_secret_key }}
|
||||
region = {{ s3_region }}
|
||||
Reference in new issue
Block a user