Home Explore Blog CI



nixpkgs

nixos/modules/services/web-apps/pingvin-share.md
0f0045ec19cf22bb7fb09decb3ba3b7d588ace9b5a0ab9d60000000300000473
# Pingvin Share {#module-services-pingvin-share}

A self-hosted file sharing platform and an alternative for WeTransfer.

## Configuration {#module-services-pingvin-share-basic-usage}

By default, the module will execute Pingvin Share backend and frontend on the ports 8080 and 3000.

I will run two systemd services named `pingvin-share-backend` and `pingvin-share-frontend` in the specified data directory.

Here is a basic configuration:

```nix
{
  services-pingvin-share = {
    enable = true;

    openFirewall = true;

    backend.port = 9010;
    frontend.port = 9011;
  };
}
```

## Reverse proxy configuration {#module-services-pingvin-share-reverse-proxy-configuration}

The 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:

```nix
{
  services-pingvin-share = {
    enable = true;

    hostname = "pingvin-share.domain.tld";
    https = true;

    nginx.enable = true;
  };
}
```

Furthermore, you can increase the maximal size of an uploaded file with the option [services.nginx.clientMaxBodySize](#opt-services.nginx.clientMaxBodySize).

Chunks
bf157ac1 (1st chunk of `nixos/modules/services/web-apps/pingvin-share.md`)
Title: Pingvin Share: Self-Hosted File Sharing
Summary
This section describes Pingvin Share, a self-hosted file sharing platform. It covers basic configuration, including enabling the service, opening the firewall, and setting backend and frontend ports. It also details how to configure Pingvin Share behind a reverse proxy like Nginx, including setting the hostname, enabling HTTPS, and increasing the maximum upload file size.