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-04-07 23:13:44 +02:00
.github chore: add question issue template 2023-02-12 14:40:10 +01:00
backend fix: boolean config variables can't be set to false 2023-04-07 23:13:44 +02:00
docs docs: move translated docs in docs folder 2023-04-02 18:53:54 +02:00
frontend refactor: simplify create share function 2023-04-04 22:47:32 +02: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.14.0 2023-04-01 20:19:27 +02:00
CONTRIBUTING.md docs: move translated docs in docs folder 2023-04-02 18:53:54 +02: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 chore: dump node js version 2023-03-14 15:36:35 +01:00
LICENSE Create LICENSE 2022-04-26 08:15:49 +02:00
package.json release: 0.14.0 2023-04-01 20:19:27 +02:00
README.md docs: fix translation path 2023-04-02 18:55:41 +02:00
SECURITY.md Create SECURITY.md 2022-12-12 11:11:28 +01:00


Pingvin Share


Read this in another language: Spanish, English, Simplified Chinese


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 >= 16
  • 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. Stop the running app

    pm2 stop pingvin-share-backend pingvin-share-frontend
    
  2. Repeat the steps from the installation guide except the git clone step.

    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.