From 5ace691215f8b30da4b5b53b5576f7480398c131 Mon Sep 17 00:00:00 2001 From: ml Date: Sun, 28 Jun 2026 17:24:52 +0200 Subject: [PATCH] Fix Nextcloud Redis snapshot permissions and provisioning issues - Create Redis data directory with correct ownership (UID 999) so Redis can write RDB snapshots; root-owned directory caused stop-writes-on-bgsave-error which crash-looped Nextcloud background jobs at 400%+ CPU --- ansible/roles/nextcloud/tasks/main.yml | 16 +++++++++++----- .../nextcloud/templates/docker-compose.yml.j2 | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ansible/roles/nextcloud/tasks/main.yml b/ansible/roles/nextcloud/tasks/main.yml index 8a4c05d..99ac4ac 100644 --- a/ansible/roles/nextcloud/tasks/main.yml +++ b/ansible/roles/nextcloud/tasks/main.yml @@ -1,14 +1,20 @@ --- -- name: Create Nextcloud data directories +- name: Create Nextcloud data directory ansible.builtin.file: - path: "{{ item }}" + path: "{{ nextcloud_data_dir }}" state: directory owner: root group: root mode: "0755" - loop: - - "{{ nextcloud_data_dir }}" - - "{{ nextcloud_data_dir }}/redis" + tags: nextcloud + +- name: Create Nextcloud Redis directory (redis UID 999) + ansible.builtin.file: + path: "{{ nextcloud_data_dir }}/redis" + state: directory + owner: "999" + group: "999" + mode: "0700" tags: nextcloud # www-data inside the container is UID 33. The html directory must be owned by diff --git a/ansible/roles/nextcloud/templates/docker-compose.yml.j2 b/ansible/roles/nextcloud/templates/docker-compose.yml.j2 index c70d828..b052d23 100644 --- a/ansible/roles/nextcloud/templates/docker-compose.yml.j2 +++ b/ansible/roles/nextcloud/templates/docker-compose.yml.j2 @@ -22,7 +22,7 @@ services: image: redis:7-alpine container_name: nextcloud-redis restart: unless-stopped - command: --save "" --loglevel warning + command: --save 60 1 --loglevel warning volumes: - {{ nextcloud_data_dir }}/redis:/data networks: