Pingvin Share - A selfhosted file sharing platform

stonith404

Elias Schneider

Posted on April 25, 2022

Pingvin Share - A selfhosted file sharing platform

Overview of My Appwrite x DEV Hackathon Submission

Pingvin Share is a self-hosted file-sharing platform built with the awesome BaaS (Backend as a Service) Appwrite.

A small demo before we begin.
Pingvin Share Demo

You can try it by your own on https://pingvin-share.dev.eliasschneider.com

The idea for this project came because I want to share some confidential files with my family.
Because privacy is important to me and I love self-hosting I searched for a self-hosted file sharing platform.
I only found big solutions like Nextcloud but I wanted a lightweight service without advanced features that I don't need.

✨ Features

  • Upload as big files as you want. Only your hard drive will be your limit
  • Create a simple share with a link
  • Secure your share with a visitor limit and a password
  • Share your files with specific emails and send an invitation email

⌨️ Technologies

Appwrite

Appwrite is the core for Pingvin Share. Pingvin Share uses Appwrite Storage, Database, Authentication and Cloud functions.

NextJS

This project uses NextJS as the frontend and for some API endpoints.

Mantine

Mantine is a beautiful React component library. It ships useful hooks, awesome components, a form handler, a modal manager, a notification manager and many more.

📂 Submission Category

Web2 Wizards

Link to Code

GitHub logo stonith404 / pingvin-share

A self-hosted file sharing platform that combines lightness and beauty, perfect for seamless and efficient file sharing.


Pingvin Share


Pingvin Share is a self-hosted file sharing platform and an alternative for WeTransfer.

✨ Features

  • Share files using a link
  • Unlimited file size (restricted only by disk space)
  • Set an expiration date for shares
  • Secure shares with visitor limits and passwords
  • Email recipients
  • Reverse shares
  • OIDC and LDAP authentication
  • Integration with ClamAV for security scans

🐧 Get to know Pingvin Share

⌨️ Setup

Installation with Docker (recommended)

  1. Download the docker-compose.yml file
  2. Run docker compose up -d

The website is now listening on http://localhost:3000, have fun with Pingvin Share 🐧!

Tip

Checkout Pocket ID, a user-friendly OIDC provider that lets you easily log in to services like Pingvin Share using Passkeys.

📚 Documentation

For more installation options and advanced configurations, please refer to the documentation.

🖤 Contribute

We would love it if you want to help make Pingvin Share better! You…

🙋🏼‍♂️ About me

My name is Elias and I'm studying software engineering in Switzerland. This is my first and definitely not least hackathon participation. I've really enjoyed to create this small project and learned a lot!

You can find more about me on https://eliasschneider.com

🔗 Resources

💖 💪 🙅 🚩
stonith404
Elias Schneider

Posted on April 25, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related