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
12{
13 networking.firewall.allowedTCPPorts = [ 80 443 ];
14 services.filesender = {
15 enable = true;
16 localDomain = "filesender.example.com";
17 configureNginx = true;
18 database.createLocally = true;
19
20 settings = {
21 auth_sp_saml_authentication_source = "default";
22 auth_sp_saml_uid_attribute = "uid";
23 storage_filesystem_path = "<STORAGE PATH FOR UPLOADED FILES>";
24 admin = "admin";
25 admin_email = "admin@example.com";
26 email_reply_to = "noreply@example.com";
27 };
28 };
29 services.simplesamlphp.filesender = {
30 settings = {
31 "module.enable".exampleauth = true;
32 };
33 authSources = {
34 admin = [ "core:AdminPassword" ];
35 default = format.lib.mkMixedArray [ "exampleauth:UserPass" ] {
36 "admin:admin123" = {
37 uid = [ "admin" ];
38 cn = [ "admin" ];
39 mail = [ "admin@example.com" ];
40 };
41 };
42 };
43 };
44}
45```
46
47::: {.warning}
48Example 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).
49:::