mirror of
https://github.com/stonith404/pingvin-share.git
synced 2024-11-04 23:10:13 +01:00
A self-hosted file sharing platform that combines lightness and beauty, perfect for seamless and efficient file sharing.
0521f74cb1
fix: remove build target linux/arm/v7 as prisma doesn't support it |
||
---|---|---|
.github/workflows | ||
backend | ||
frontend | ||
.dockerignore | ||
.env.example | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
package.json | ||
README.md |
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:3000
, 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 |
SHOW_HOME_PAGE |
Whether the Pingvin Share home page should be shown. | true/false |
ALLOW_REGISTRATION |
Whether a new user can create a new account. | true/false |
MAX_FILE_SIZE |
Maximum allowed size per file in bytes. | Number |
JWT_SECRET |
Long random string to sign the JWT's. | Random string |
Upgrade to a new version
Just updated the docker container by running docker-compose pull && docker-compose up -d
Note: If you installed Pingvin Share before it used Sqlite, you unfortunately have to set up the project from scratch again, sorry for that.
🖤 Contribute
You're very welcome to contribute to Pingvin Share! Contact me, create an issue or directly create a pull request.
Development setup
Backend
- Open the
backend
folder - Duplicate the
.env.example
file, rename the duplicate to.env
and change the environment variables if needed - Install the dependencies with
npm install
- Push the database schema to the database by running
npx prisma db push
- Start the backend with
npm run dev
Frontend
- Start the backend first
- 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!