Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.
Demo: https://pingvin-share.dev.eliasschneider.com
- 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
Pleas note that Pingvin Share is in early stage and could include some bugs
- Download the
docker-compose.ymland.env.examplefile. - Rename the
.env.examplefile to.envand 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 🐧!
| 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 |
You're very welcome to contribute to Pingvin Share! Contact me, create an issue or directly create a pull request.
- Open the
backend - Duplicate the
.env.examplefile, rename the duplicate to.envand 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
- Open the
frontendfolder - Duplicate the
.env.examplefile, rename the duplicate to.envand change the environment variables if needed - Install the dependencies with
npm install - Start the frontend with
npm run dev
You're all set!
