mirror of
https://github.com/swissmakers/swiss-datashare.git
synced 2026-04-11 10:27:01 +02:00
beece56327da141c222fd9f5259697df6db9347a
* More email share vars + unfinished placeolders config
{desc} {expires} vars
(unfinished) config placeholder vals
* done
* migrate
* edit seed
* removed comments
* refactor: replace dependecy `luxon` with `moment`
* update shareRecipientsMessage message
* chore: remove `luxon`
* fix: grammatically incorrect `shareRecipientsMessage` message
* changed to defaultValue and value instead
* fix: don't expose defaultValue to non admin user
* fix: update default value if default value changes
* refactor: set config value to null instead of a empty string
* refactor: merge two migrations into one
* fix value check empty
---------
Co-authored-by: Elias Schneider <login@eliasschneider.com>
Pingvin Share is 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
- Integration with ClamAV for security scans
🐧 Get to know Pingvin Share
⌨️ Setup
Note: Pingvin Share is in its early stages and may contain bugs.
Installation with Docker (recommended)
- Download the
docker-compose.ymlfile - Run
docker-compose up -d
The website is now listening on http://localhost:3000, have fun with Pingvin Share 🐧!
Stand-alone Installation
Required tools:
git clone https://github.com/stonith404/pingvin-share
cd pingvin-share
# Checkout the latest version
git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
# Start the backend
cd backend
npm install
npm run build
pm2 start --name="pingvin-share-backend" npm -- run prod
# Start the frontend
cd ../frontend
npm install
npm run build
pm2 start --name="pingvin-share-frontend" npm -- run start
The website is now listening on http://localhost:3000, have fun with Pingvin Share 🐧!
Integrations
ClamAV (Docker only)
ClamAV is used to scan shares for malicious files and remove them if found.
- Add the ClamAV container to the Docker Compose stack (see
docker-compose.yml) and start the container. - Docker will wait for ClamAV to start before starting Pingvin Share. This may take a minute or two.
- The Pingvin Share logs should now log "ClamAV is active"
Please note that ClamAV needs a lot of ressources.
Additional resources
Upgrade to a new version
As Pingvin Share is in early stage, see the release notes for breaking changes before upgrading.
Docker
docker compose pull
docker compose up -d
Stand-alone
- Stop the running app
pm2 stop pingvin-share-backend pingvin-share-frontend - Repeat the steps from the installation guide except the
git clonestep.cd pingvin-share # Checkout the latest version git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`) # Start the backend cd backend npm run build pm2 restart pingvin-share-backend # Start the frontend cd ../frontend npm run build pm2 restart pingvin-share-frontend
Custom branding
You can change the name and the logo of the app by visiting the admin configuration page.
🖤 Contribute
You're very welcome to contribute to Pingvin Share! Follow the contribution guide to get started.
Description
Languages
TypeScript
98.3%
Dockerfile
0.5%
Shell
0.5%
JavaScript
0.4%
CSS
0.3%