nixpkgs/nixos/modules/services/web-apps/filesender.md
2024-05-22 08:37:48 +03:00

1.6 KiB

FileSender

FileSender is a software that makes it easy to send and receive big files.

Quickstart

FileSender uses SimpleSAMLphp for authentication, which needs to be configured separately.

Minimal working instance of FileSender that uses password-authentication would look like this:

{
  networking.firewall.allowedTCPPorts = [ 80 443 ];
  services.filesender = {
    enable = true;
    localDomain = "filesender.example.com";
    configureNginx = true;
    database.createLocally = true;

    settings = {
      auth_sp_saml_authentication_source = "default";
      auth_sp_saml_uid_attribute = "uid";
      storage_filesystem_path = "<STORAGE PATH FOR UPLOADED FILES>";
      admin = "admin";
      admin_email = "admin@example.com";
      email_reply_to = "noreply@example.com";
    };
  };
  services.simplesamlphp.filesender = {
    settings = {
      "module.enable".exampleauth = true;
    };
    authSources = {
      admin = [ "core:AdminPassword" ];
      default = format.lib.mkMixedArray [ "exampleauth:UserPass" ] {
        "admin:admin123" = {
          uid = [ "admin" ];
          cn = [ "admin" ];
          mail = [ "admin@example.com" ];
        };
      };
    };
  };
}

::: {.warning} Example above uses hardcoded clear-text password, in production you should use other authentication method like LDAP. You can check supported authentication methods in SimpleSAMLphp documentation. :::