Home Explore Blog Models 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
13efbbce (1st chunk of `nixos/modules/services/web-apps/pingvin-share.md`)
Title: Pingvin Share Configuration
Summary
This document describes how to configure Pingvin Share, a self-hosted file sharing platform. It covers basic configuration, including enabling the module and setting custom ports for the backend (default 8080) and frontend (default 3000). It also details how to set up Pingvin Share behind a reverse proxy, specifically Nginx, to avoid exposing open ports and to enable HTTPS, with an option to increase the maximum upload file size.