selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

pingvin-share-x logo

Self-host pingvin-share-x

v2.1.0

Self-hosted file sharing platform with link-based transfers

ReleaseOpen SourceBSD-2-Clause
Docker ComposeCompose file & guide
docker compose up -d
Updated15 hours ago
LanguageTypescript
Setup difficultyModerate
ThemeDark mode
Stars
546
Ports
3000 (Frontend web interface (container port)), 8080 (Backend API (container port))
Docker
smp46/pingvin-share-x
Pingvin Share X web interface showing file sharing UI

What is pingvin-share-x?

This self-hosted file sharing platform lets users transfer files of any size via generated links. It offers expiration dates, password protection, visitor limits, and email notifications. Reverse shares allow others to upload files to you. ClamAV integration scans for malware. Files can be stored locally or on S3-compatible storage (AWS, DigitalOcean, Exoscale, Infomaniak). Authentication supports built-in accounts, OIDC, LDAP, and OAuth (GitHub, Google, Microsoft, Discord). Configuration via UI, YAML, or environment variables. Runs in Docker on port 3000 with built-in Caddy, or stand-alone Node.js (backend 8080, frontend 3000). Uses SQLite; Redis optional for multi-instance caching. BSD-2-Clause licensed with active development and beta channel.

Should you self-host pingvin-share-x?

pingvin-share-x scores 53/100 on selfhost.directory (how scoring works) and ranks #18 of 27 in File Sharing & Collaboration. It has 546 GitHub stars.

It shipped 16 stable releases in the past year. The latest, v2.1.0, came out on 25 October 2026. New versions land roughly every 5 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is BSD-2-Clause-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is DashBeam (70/100, 10 121 stars). It scores higher overall, so compare the two before you pick. See pingvin-share-x vs DashBeam side by side.

Features

  • Admin Dashboard
  • Email Recipients
  • Expiration Dates
  • File sharing via links
  • LDAP Authentication
  • Local file storage
  • Multi-language Support
  • OAuth authentication (GitHub, Google, Microsoft, Discord)
  • OIDC Authentication
  • Password Protection
  • Reverse Shares
  • Visitor limits
  • Zip archive creation

pingvin-share-x README

How to install pingvin-share-x

Install pingvin-share-x with Docker Compose

Docker and Docker Compose
Environment variables
TRUST_PROXY, CADDY_DISABLED, PUID, PGID, CLAMAV_HOST, CLAMAV_PORT
  1. Download the docker-compose.yml file
  2. Run docker compose up -d

Recommended installation method. Website listens on http://localhost:3000

How to configure pingvin-share-x

  • API_URLhttp://localhost:8080The URL of the backend for the frontend.

    The URL of the backend for the frontend.

  • BACKEND_PORT8080The port on which the backend listens.

    The port on which the backend listens.

  • CADDY_DISABLEDfalseConfigures if Pingvin Share X is starting built-in Caddy. If set to true, Caddy will not be started.

    Configures if Pingvin Share X is starting built-in Caddy. If set to true, Caddy will not be started.

    values: true, false

  • CLAMAV_HOST127.0.0.1 or clamav when running with DockerThe IP address of the ClamAV server.

    The IP address of the ClamAV server.

  • CLAMAV_PORT3310The port number of the ClamAV server.

    The port number of the ClamAV server.

  • CONFIG_FILE../config.yamlPath to the configuration file

    Path to the configuration file

  • DATABASE_URLfile:../data/pingvin-share.db?connection_limit=1The URL of the SQLite database.

    The URL of the SQLite database.

  • DATA_DIRECTORY./dataThe directory where data is stored.

    The directory where data is stored.

  • PGID1000The group ID of the user who should run Pingvin Share X inside the Docker container.

    The group ID of the user who should run Pingvin Share X inside the Docker container.

  • PORT3000The port on which the frontend listens.

    The port on which the frontend listens.

  • PUID1000The user ID of the user who should run Pingvin Share X inside the Docker container.

    The user ID of the user who should run Pingvin Share X inside the Docker container.

  • TRUST_PROXYfalseWhether Pingvin Share X is behind a reverse proxy. If set to true, the X-Forwarded-For header is trusted.

    Whether Pingvin Share X is behind a reverse proxy. If set to true, the X-Forwarded-For header is trusted.

    values: true, false

pingvin-share-x releases & version history

More in File Storage

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…