mirror of
https://github.com/stonith404/pingvin-share.git
synced 2024-11-05 07:20:13 +01:00
3.2 KiB
3.2 KiB
Pingvin Share
Pingvin Share
Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.
🎪 Showcase
Demo: https://pingvin-share.dev.eliasschneider.com
✨ Features
- Create a simple share with a link
- No file size limit, only your disk will be your limit
- Optionally secure your share with a visitor limit and a password
- Dark mode
⌨️ Setup
Pleas note that Pingvin Share is in early stage and could include some bugs
- Download the
docker-compose.yml
and.env.example
file. - Rename the
.env.example
file to.env
and change the environment variables so that they fit to your environment. If you need help with the environment variables take a look here - Run
docker-compose up -d
The website is now listening available on http://localhost:8080
, have fun with Pingvin Share 🐧!
Environment variables
Variable | Description | Possible values |
---|---|---|
APP_URL |
On which URL Pingvin Share is available. E.g http://localhost or https://pingvin-share.com. | URL |
BACKEND_URL |
Where the backend is listening on your local machine. If you use the default installation, use http://backend:8080 . |
URL |
SHOW_HOME_PAGE |
Wether the Pingvin Share home page should be shown. | true/false |
ALLOW_REGISTRATION |
Wether a new user can create a new account. | true/false |
MAX_FILE_SIZE |
Maximum allowed size per file in bytes. | Number |
JWT_SECRET |
Random string to sign the JWT's. | Random string |
🖤 Contribute
You're very welcome to contribute to Pingvin Share! Contact me, create an issue or directly create a pull request.
Development setup
Database & Backend
- Open the
backend
- Duplicate the
.env.example
file, rename the duplicate to.env
and change the environment variables if needed - Install the dependencies with
npm install
- Start the database by running
docker-compose up -d
- Push the database schema to the database by running
npx prisma db push
- Start the backend with
npm run dev
Frontend
- Open the
frontend
folder - Duplicate the
.env.example
file, rename the duplicate to.env
and change the environment variables if needed - Install the dependencies with
npm install
- Start the frontend with
npm run dev
You're all set!