1
0
mirror of https://github.com/stonith404/pingvin-share.git synced 2024-11-19 22:00:12 +01:00
pingvin-share/README.md
2022-10-14 15:15:15 +02:00

3.2 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

Pleas note that Pingvin Share is in early stage and could include some bugs

  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: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 update 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

  1. Open the backend 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. Push the database schema to the database by running npx prisma db push
  5. Start the backend with npm run dev

Frontend

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

You're all set!

Testing

At the moment we only have system tests for the backend. To run these tests, run npm run test:system in the backend folder.