1
0
mirror of https://github.com/stonith404/pingvin-share.git synced 2024-11-05 07:20:13 +01:00
A self-hosted file sharing platform that combines lightness and beauty, perfect for seamless and efficient file sharing.
Go to file
2023-03-08 17:47:36 +01:00
.github chore: add question issue template 2023-02-12 14:40:10 +01:00
backend feat: ability to change logo in frontend 2023-03-08 14:47:41 +01:00
frontend chore: add sharp for image optimizations 2023-03-08 17:47:36 +01:00
.dockerignore fix: my shares doesn't make an api request 2022-10-14 11:29:54 +02:00
.gitignore feat: custom branding (#112) 2023-03-04 23:29:00 +01:00
CHANGELOG.md release: 0.11.1 2023-03-05 10:50:32 +01:00
CONTRIBUTING.md docs: improve contributing guideline 2023-02-10 14:22:32 +01:00
docker-compose-dev.yml feat: add ClamAV to scan for malicious files 2023-01-13 10:16:35 +01:00
docker-compose.yml feat: custom branding (#112) 2023-03-04 23:29:00 +01:00
Dockerfile feat: custom branding (#112) 2023-03-04 23:29:00 +01:00
LICENSE Create LICENSE 2022-04-26 08:15:49 +02:00
package.json release: 0.11.1 2023-03-05 10:50:32 +01:00
README.md feat: ability to change logo in frontend 2023-03-08 14:47:41 +01:00
SECURITY.md Create SECURITY.md 2022-12-12 11:11:28 +01:00


Pingvin Share

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.

  1. Download the docker-compose.yml file
  2. Run docker-compose up -d

The website is now listening on http://localhost:3000, have fun with Pingvin Share 🐧!

Stand-alone Installation

Required tools:

  • Node.js >= 14
  • Git
  • pm2 for running Pingvin Share in the background
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.

  1. Add the ClamAV container to the Docker Compose stack (see docker-compose.yml) and start the container.
  2. Docker will wait for ClamAV to start before starting Pingvin Share. This may take a minute or two.
  3. 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

  1. Remove the running app
    pm2 delete pingvin-share-backend pingvin-share-frontend
    
  2. Repeat the steps from the installation guide except the git clone step.

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.