1
0
mirror of https://github.com/stonith404/pingvin-share.git synced 2024-11-13 03:00:12 +01:00
pingvin-share/README.md
iUnstable0 a0d1d98e24
docs: improve stand-alone upgrade guide (#128)
* Update README.md

* docs: improve stand-alone upgrade guide

* Update README.md
2023-03-16 09:21:53 +01:00

3.5 KiB


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 >= 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.