summaryrefslogtreecommitdiff
path: root/tw/services/nextcloud.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tw/services/nextcloud.scm')
-rw-r--r--tw/services/nextcloud.scm21
1 files changed, 18 insertions, 3 deletions
diff --git a/tw/services/nextcloud.scm b/tw/services/nextcloud.scm
index e7952b49..f11f351e 100644
--- a/tw/services/nextcloud.scm
+++ b/tw/services/nextcloud.scm
@@ -9,7 +9,8 @@
#:use-module (gnu services mcron)
#:use-module (gnu services web)
#:use-module (guix gexp)
- #:use-module (tw services))
+ #:use-module (tw services)
+ #:use-module (tw services restic))
(define-public %nextcloud-php.ini
(computed-file "nextcloud-php.ini"
@@ -42,6 +43,9 @@ opcache.save_comments=1
opcache.revalidate_freq=120
"))))))))
+(define nextcloud-backup-repository "/var/backups/nextcloud")
+(define nextcloud-backup-password-file "/etc/restic/lud-nextcloud")
+
(define nextcloud-backup-program
(program-file "nextcloud-backup-command"
#~(begin
@@ -57,8 +61,8 @@ opcache.revalidate_freq=120
(define snapshot (string-append nextcloud-data-partition "/tmp-nextcloud-backup"))
(define btrfs #$(file-append btrfs-progs "/bin/btrfs"))
(define restic #$(file-append restic "/bin/restic"))
- (setenv "RESTIC_REPOSITORY" "/var/backups/nextcloud")
- (setenv "RESTIC_PASSWORD_FILE" "/etc/restic/lud-nextcloud")
+ (setenv "RESTIC_REPOSITORY" #$nextcloud-backup-repository)
+ (setenv "RESTIC_PASSWORD_FILE" #$nextcloud-backup-password-file)
(define (nc-maintenance enable?)
(let ((child-pid (primitive-fork)))
@@ -205,6 +209,17 @@ Header always set Strict-Transport-Security \"max-age=15552000\"
(domains '("cloud.wilkenfamily.de"))
(deploy-hook %httpd-cert-deploy-hook))))
+ (simple-service 'nextcloud-backup-cleanup restic-cleanup-service-type
+ (list (restic-scheduled-cleanup
+ (schedule #~"0 7 * * *")
+ (repo (restic-local-repository
+ (path nextcloud-backup-repository)))
+ (password (restic-password-source
+ (type 'file)
+ (name nextcloud-backup-password-file)))
+ (keep-daily 30)
+ (keep-monthly -1))))
+
;; Nextcloud cron
(simple-service 'nextcloud-cron mcron-service-type
(list #~(job "*/5 * * * *"