smp46/pingvin-share-x
smp46/pingvin-share-x has 573 GitHub stars and 63 forks. GitHot measured +10 in 7 days. Last checked 2026-11-11 01:09 UTC. Last push 2026-11-03.
Pingvin Share X is a secure and easy self-hosted file sharing platform.
What you can do
- Share files using a link
- Unlimited file size (restricted only by disk space)
- Set an expiration date for shares
- Secure shares with visitor limits and passwords
Measured star growth
- in 24h
- Update delayed
- in 7 days
- +10
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalPingvin Share X is a fork of Pingvin Share, a self-hosted file sharing platform and an alternative for WeTransfer.
Features
- Share files using a link
- Unlimited file size (restricted only by disk space)
- Set an expiration date for shares
- Secure shares with visitor limits and passwords
- Email recipients
- Reverse shares
- OIDC and LDAP authentication
- Integration with ClamAV for security scans
- Different file providers: local storage and S3
Setup
Installation with Docker (recommended)
- Download the
docker-compose.ymlfile - Run
docker compose up -d
The website is now listening on http://localhost:3000.
[!TIP] Checkout stonith404/Pocket ID, a user-friendly OIDC provider that lets you easily log in to services like Pingvin Share X using Passkeys. Made by the original creator of Pingvin Share.
Beta Channel (Testing)
Pingvin Share X now has a beta, this is where all (non-time sensitive) bug fixes, features and other updates will go before reaching stable.
To use the Beta channel:
- Update the container image tag in your
docker-compose.ymlto:beta:image: smp46/pingvin-share-x:beta # or ghcr.io/smp46/pingvin-share-x:beta - Pull the latest beta image and recreate the container:
docker compose pull docker compose up -d
[!IMPORTANT] If you encounter any bugs, regressions, or have any other feedback while running the beta version, please open a GitHub Issue. Please ensure you specify the exact version (including the beta tag).
Alternative Deployments
Pingvin Share X can also be deployed through other platforms. For more information, see the documentation.
Documentation
For more installation options and advanced configurations, please refer to the documentation.
Sponsors
If you find Pingvin Share X useful and would like to support its ongoing development and maintenance please consider becoming a sponsor!
I would like to host a demo instance online for people to try out Pingvin, your sponsorship would make this possible.
As a token of appreciation, sponsors can have their profile or company logo displayed right here in this section.
Our Awesome Sponsors
![]() Your Name Here |
|---|
💖 Support the project via GitHub Sponsors
Contributing
All contributions are welcome, including issues, feature suggestions, pull requests and translations.
Translations
This project supports 34 languages so far, an LLM is used to add most translations, but you can help correct these or add more at CrowdIn.
AI Usage Policy
Anyone submitting code to this repo needs to read and comply with the project's AI Usage Policy. AI-generated code is welcome, but you need to understand it and explain it in your own words. Please respect the time of maintainers, submissions that do not comply will be closed.
Getting started
If you have found a bug, have a suggestion or something else, please open an issue.
Submit a Pull Request
Before you submit the pull request for review please ensure that
The pull request naming follows the Conventional Commits specification:
<type>[optional scope]: <description>example:
feat(share): add password protectionWhen
TYPEcan be:- feat - is a new feature
- doc - documentation only changes
- fix - a bug fix
- refactor - code change that neither fixes a bug nor adds a feature
Your pull request has a detailed description, written by you
You run
npm run formatto format the code
Setup project
Backend
- Open the
backendfolder - Install the dependencies with
npm install - Push the database schema to the database by running
npx prisma db push - Seed the database with
npx prisma db seed - Start the backend with
npm run dev
Frontend
- Start the backend first
- Open the
frontendfolder - Install the dependencies with
npm install - Start the frontend with
npm run dev
You're all set!
Testing
At the moment we only have system tests for the backend. To run these tests, run npm run test:system in the backend folder.
Explore related projects
awesome-selfhosted/awesome-selfhosted
A list of Free Software network services and web applications which can be hosted on your own servers
335,961 starsimmich-app/immich
High performance self-hosted photo and video management solution.
118,645 starsStirling-Tools/Stirling-PDF
#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere
96,149 starslouislam/uptime-kuma
A fancy self-hosted monitoring tool
93,425 stars