1
0
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.
Go to file
2022-10-13 23:24:36 +02:00
.github/workflows feat: add linux/arm/v7 arch for docker image 2022-10-13 11:14:35 +02:00
backend feat: improve share security 2022-10-13 23:24:36 +02:00
frontend feat: improve share security 2022-10-13 23:24:36 +02:00
.dockerignore feat: remove postgres & use a single docker container 2022-10-11 22:30:06 +02:00
.env.example chore: update documentation 2022-10-12 09:14:13 +02:00
.gitignore chore: update documentation 2022-10-12 09:14:13 +02:00
docker-compose.yml feat: put db and uploads in same folder 2022-10-12 00:38:38 +02:00
Dockerfile feat: put db and uploads in same folder 2022-10-12 00:38:38 +02:00
LICENSE Create LICENSE 2022-04-26 08:15:49 +02:00
package.json feat: remove appwrite and add nextjs backend 2022-10-09 22:30:32 +02:00
README.md Merge branch 'development' into main 2022-10-12 09:14:48 +02:00


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

  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!