Build Your Own File Sharing Platform? You Might Need Pingvin Share
Introduction:
Do you really trust handing your files over to third-party file platforms? Try Pingvin Share instead
- Easy to Build - Easily set up your own file sharing platform using a private server
- Complete Privacy - Your files belong only to you! No need to put them on third-party file platforms
- Focused on Protection - Supports two-step verification, your files are solely yours
- More Secure - More Secure - Fear of Trojan Horse when you send it to your friends? No problem, Pingvin Share supports mounting clamav to make your storage more secure.
Cons:
Storage space is linked to storage volume capacity, unable to mount external network drives, this project is more suitable for lightweight file sharing
Screenshots:
Deployment Method One: Install Using Docker
Step One: Update Sources
Ubuntu/Debian:
apt update -y && apt upgrade -y
Centos:
yum update -y && yum upgrade -y
Step Two: Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
Step Three: Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Step Four: Create and Write to docker-compose.yml
version: '3.8'
services:
pingvin-share:
image: stonith404/pingvin-share
restart: unless-stopped
ports:
- 3000:3000
volumes:
- "./data:/opt/app/backend/data"
- "./data/images:/opt/app/frontend/public/img"
Please note that mounting clamav will consume a lot of system resources to monitor file security, use it only if you have optimal performance.
To mount clamav use the following docker-compose.yml
version: '3.8'
services:
pingvin-share:
image: stonith404/pingvin-share
restart: unless-stopped
ports:
- 3000:3000
volumes:
- "./data:/opt/app/backend/data"
- "./data/images:/opt/app/frontend/public/img"
depends_on:
clamav:
condition: service_healthy
clamav:
restart: unless-stopped
image: clamav/clamav
ports:
- 3310:3310
healthcheck:
test: ["CMD-SHELL", "clamscan -V || exit 1"]
interval: 1m
timeout: 10s
retries: 3
Step Five: Install and Run Containers
docker-compose up -d
After deployment, you can visit http://<your-ip>:3000
to access Pingvin Share
Deployment Method Two: Install from Source Code
Step One: Update Sources
Ubuntu/Debian:
apt update -y && apt upgrade -y
Centos:
yum update -y && yum upgrade -y
Step Two: Install Node.js (Version 16 or higher)
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
Step Three: Install Git
sudo apt-get update
sudo apt-get install git
Step Four: Install pm2
npm install pm2 -g
Step Five: Clone Repository
git clone https://github.com/stonith404/pingvin-share
cd pingvin-share
Step Six: Switch to Latest Version
git fetch --tags
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
Step Seven: Start Backend
cd backend
npm install
npm run build
pm2 start --name="pingvin-share-backend" npm -- run prod
Step Eight: Start Frontend
cd ../frontend
npm install
npm run build
pm2 start --name="pingvin-share-frontend" npm -- run start
After deployment, you can visit http://<your-ip>:3000
to access Pingvin Share
Note:
The first registered user is the default administrator, you can configure other users' permissions in user management
Related Links:
Official Address: https://github.com/stonith404/pingvin-share
clamav Address: https://github.com/Cisco-Talos/clamav
Original link:http://enblog.fuyiran.link/Technology/21.html
Copyright: All posts on this blog, unless otherwise stated, are published using theCC BY-NC-SA 4.0 license agreement. Please indicate the source for reprinting Fu Speaking (enblog.fuyiran.link)