1# FileSender {#module-services-filesender}
2
3[FileSender](https://filesender.org/software/) is a software that makes it easy to send and receive big files.
4
5## Quickstart {#module-services-filesender-quickstart}
6
7FileSender uses [SimpleSAMLphp](https://simplesamlphp.org/) for authentication, which needs to be configured separately.
8
9Minimal working instance of FileSender that uses password-authentication would look like this:
10
11```nix
12let
13 format = pkgs.formats.php { };
14in
15{
16 networking.firewall.allowedTCPPorts = [
17 80
18 443
19 ];
20 services.filesender = {
21 enable = true;
22 localDomain = "filesender.example.com";
23 configureNginx = true;
24 database.createLocally = true;
25
26 settings = {
27 auth_sp_saml_authentication_source = "default";
28 auth_sp_saml_uid_attribute = "uid";
29 storage_filesystem_path = "<STORAGE PATH FOR UPLOADED FILES>";
30 admin = "admin";
31 admin_email = "admin@example.com";
32 email_reply_to = "noreply@example.com";
33 };
34 };
35 services.simplesamlphp.filesender = {
36 settings = {
37 "module.enable".exampleauth = true;
38 };
39 authSources = {
40 admin = [ "core:AdminPassword" ];
41 default = format.lib.mkMixedArray [ "exampleauth:UserPass" ] {
42 "admin:admin123" = {
43 uid = [ "admin" ];
44 cn = [ "admin" ];
45 mail = [ "admin@example.com" ];
46 };
47 };
48 };
49 };
50}
51```
52
53::: {.warning}
54Example 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](https://simplesamlphp.org/docs/stable/simplesamlphp-idp.html).
55:::