Files
nixconf/ftp-server.nix
2025-07-24 16:24:20 +02:00

37 lines
1.1 KiB
Nix

{ config, pkgs, ... }: {
services.vsftpd = {
enable = true;
# Allow anonymous logins.
anonymousUser = true;
# Use 'anonymousUploadEnable' instead of 'anonUploadEnable'.
# This allows anonymous users to upload files.
anonymousUploadEnable = true;
# CORRECT: Use 'anonymousUserHome' to set the root directory.
# This should be the path to your NFS mount for scans.
anonymousUserHome = "/mnt/service/data/paperless/consume";
# This option is available in your list. Set to false for better security
anonymousMkdirEnable = false;
# For any setting not in the NixOS option list, use extraConfig.
extraConfig = ''
# Log all transfers.
xferlog_enable=YES
# Change ownership of uploaded files to a local user.
chown_uploads=YES
chown_username="${config.vars.username}"
# Allow the anonymous root to be writable.
allow_writeable_chroot=YES
'';
};
# Ensure the user who will own the uploaded files exists.
users.users.some-user = {
isSystemUser = true;
group = "users";
};
}