2022-04-25 15:15:17 +02:00
# <div align="center"><img src="./public/logo.svg" width="40"/> </br>Pingvin Share</div>
Pingvin Share is a selfhosted file sharing plattform made for the [Appwrite Hackathon ](https://dev.to/devteam/announcing-the-appwrite-hackathon-on-dev-1oc0 ).
## Showcase
2022-04-25 17:09:38 +02:00
https://pingvin-share.dev.eliasschneider.com
2022-04-25 15:15:17 +02:00
< img src = "assets/screenshots/home.png" width = "700" / >
## Setup
At the moment, the setup is a bit time-consuming. I will improve the setup in the future.
### 1. Appwrite
Pingvin Share uses Appwrite as backend. You have to install and setup Appwrite first
1. [Install Appwrite ](https://appwrite.io/docs/installation )
2. Create an Account on your Appwrite instance
3. Change the `_APP_STORAGE_LIMIT` variable in the `.env` file of Appwrite to your prefered max size limit per share
### 2. Setup script
To setup the backend structure of Pingvin Share you have to run the setup script.
1. [Install Node ](https://nodejs.org/en/download/ )
2. Clone the repository with `git clone https://github.com/stonith404/pingvin-share`
3. Visit the repository directory with `cd pingvin-share`
4. Run `npm run init:appwrite`
### 3. Frontend
To set up the frontend of Pingvin Share follow these steps.
1. Go to your Appwrite console, visit "API Keys" and copy the "Functions API Key" secret to your clipboard.
2. Rename the `.env.example` file to `.env`
3. Paste the key in the `.env` file
2022-04-25 17:16:17 +02:00
4. Change `NEXT_PUBLIC_APPWRITE_HOST` in the `.env` file to the host where your Appwrite instance runs
2022-04-25 15:29:15 +02:00
5. Change `NEXT_PUBLIC_MAX_FILE_SIZE` in the `.env` file to the max file size limit you want
2022-04-25 15:15:17 +02:00
Start the frontend:
With docker:
1. Run `docker-compose up -d --build`
Without docker:
1. Run `npm install`
2. Run `npm run build && npm run start`
## Contribute
You're very welcome to contribute to Pingvin Share!
Contact me, create an issue or directly create a pull request.