1
0
mirror of https://github.com/stonith404/pingvin-share.git synced 2024-11-05 07:20:13 +01:00
pingvin-share/README.md
2022-10-09 22:30:32 +02:00

3.1 KiB


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

  1. Download the docker-compose.yml and .env.example file.
  2. 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
  3. 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

  1. Open the backend
  2. Duplicate the .env.example file, rename the duplicate to .env and change the environment variables if needed
  3. Install the dependencies with npm install
  4. Start the database by running docker-compose up -d
  5. Push the database schema to the database by running npx prisma db push
  6. Start the backend with npm run dev

Frontend

  1. Open the frontend folder
  2. Duplicate the .env.example file, rename the duplicate to .env and change the environment variables if needed
  3. Install the dependencies with npm install
  4. Start the frontend with npm run dev

You're all set!