X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fftp.nix;h=c6d7fbee9dd0782c2f17cbe4560de6be9bb671c8;hb=8fa7ff2c63fb0722144bc90837512d9f8b8c929d;hp=842d2d6540bbe65d0347c3989d0f243a24884b9f;hpb=8d213e2b1c934f6861f76aad5eb7c11097fa97de;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/ftp.nix b/modules/private/ftp.nix index 842d2d6..c6d7fbe 100644 --- a/modules/private/ftp.nix +++ b/modules/private/ftp.nix @@ -1,4 +1,7 @@ { lib, pkgs, config, myconfig, ... }: +let + package = pkgs.pure-ftpd.override { ldapFtpId = "immaeFtp"; }; +in { options = { services.pure-ftpd.enable = lib.mkOption { @@ -11,6 +14,9 @@ }; config = lib.mkIf config.services.pure-ftpd.enable { + services.backup.profiles.ftp = { + rootDir = "/var/lib/ftp"; + }; security.acme.certs."ftp" = config.services.myCertificates.certConfig // { domain = "eldiron.immae.eu"; postRun = '' @@ -69,6 +75,11 @@ ''; }]; + services.filesWatcher.pure-ftpd = { + restart = true; + paths = [ "/var/secrets/pure-ftpd-ldap" ]; + }; + systemd.services.pure-ftpd = let configFile = pkgs.writeText "pure-ftpd.conf" '' PassivePortRange 40000 50000 @@ -109,7 +120,7 @@ wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - serviceConfig.ExecStart = "${pkgs.pure-ftpd}/bin/pure-ftpd ${configFile}"; + serviceConfig.ExecStart = "${package}/bin/pure-ftpd ${configFile}"; serviceConfig.Type = "forking"; serviceConfig.PIDFile = "/run/pure-ftpd.pid"; };