1# Pingvin Share {#module-services-pingvin-share}
2
3A self-hosted file sharing platform and an alternative for WeTransfer.
4
5## Configuration {#module-services-pingvin-share-basic-usage}
6
7By default, the module will execute Pingvin Share backend and frontend on the ports 8080 and 3000.
8
9I will run two systemd services named `pingvin-share-backend` and `pingvin-share-frontend` in the specified data directory.
10
11Here is a basic configuration:
12
13```nix
14{
15 services-pingvin-share = {
16 enable = true;
17
18 openFirewall = true;
19
20 backend.port = 9010;
21 frontend.port = 9011;
22 };
23}
24```
25
26## Reverse proxy configuration {#module-services-pingvin-share-reverse-proxy-configuration}
27
28The preferred method to run this service is behind a reverse proxy not to expose an open port. This, you can configure Nginx such like this:
29
30```nix
31{
32 services-pingvin-share = {
33 enable = true;
34
35 hostname = "pingvin-share.domain.tld";
36 https = true;
37
38 nginx.enable = true;
39 };
40}
41```
42
43Furthermore, you can increase the maximal size of an uploaded file with the option [services.nginx.clientMaxBodySize](#opt-services.nginx.clientMaxBodySize).