feat(paperless): create document upload service

This commit is contained in:
Khaïs COLIN 2024-08-30 18:23:16 +02:00
parent 83d8dd5bae
commit d9d72c3239

View file

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ lib, ... }: { pkgs, lib, ... }:
{ {
imports = [ imports = [
./hardware-configuration-t470.nix ./hardware-configuration-t470.nix
@ -63,7 +63,7 @@
]; ];
users.groups.paperless-upload = {}; users.groups.paperless-upload = {};
users.users.paperless-upload = { users.users.paperless-upload = {
isSystemUser = true; isNormalUser = true;
group = "paperless-upload"; group = "paperless-upload";
}; };
system.activationScripts.makeFtpDirectory = lib.stringAfter [ "var" ] '' system.activationScripts.makeFtpDirectory = lib.stringAfter [ "var" ] ''
@ -72,6 +72,17 @@
mkdir -m 700 -p /var/lib/ftp/paperless-upload mkdir -m 700 -p /var/lib/ftp/paperless-upload
chown paperless-upload:paperless-upload /var/lib/ftp/paperless-upload chown paperless-upload:paperless-upload /var/lib/ftp/paperless-upload
''; '';
systemd.services.uploadPaperlessDocuments = {
path = [ pkgs.openssh ];
serviceConfig = {
User = "paperless-upload";
StandardOutput = "journal+console";
StandardError = "journal+console";
};
script = ''
${pkgs.rsync}/bin/rsync --verbose --stats --sparse --recursive --checksum /var/lib/ftp/paperless-upload/ paperless-upload@005540.xyz:/var/lib/paperless-upload
'';
};
# fingerprint sensor setup # fingerprint sensor setup
services.open-fprintd.enable = true; services.open-fprintd.enable = true;