DEV Community

Elias Schneider
Elias Schneider

Posted on • Edited on

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

Top comments (6)

Collapse
 
eldadfux profile image
Eldad A. Fux

Looks awesome!!

Collapse
 
tessamero profile image
Tessa Mero

Congratulations on joining your first hackathon! Great choice by the way. And nice job on the project!

Collapse
 
thibdevan profile image
thibdevan

Hi Elias,
Thanks for sharing this really great app.
Can you tell us how to translate / add others languages.
Regards

Collapse
 
stonith404 profile image
Elias Schneider

Hey, thanks :) Currently we don't support multiple languages, but if you want to see this feature, feel free to create an issue on GitHub!

Collapse
 
haimantika profile image
haimantika mitra

How cool! We have a lot of interesting things happening in our Appwrite discord, we would love to see you there!
discord.gg/KKZprAnX

Collapse
 
stonith404 profile image
Elias Schneider

I'm already a member since one year😊