Mattia Müggler 5a54fe4cb7 feat: add support for S3 as a storage provider (#659)
* add s3

* instance the s3 client dynamically

* refactor code

* fix format

* add docs

* add docs

* fix issue with s3 upload if you use the base path,
fix issue with archiving -> disable archiving for s3

* split file service in local and s3 file service and fix s3 upload chunking

* add working download/view

* add new features to local service (from main branch)

* revert s3 service and add working delete/remove functionality

* refactor s3 service

* Update backend/src/file/s3.service.ts

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Update frontend/src/components/admin/configuration/ConfigurationNavBar.tsx

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Update docs/docs/setup/s3.md

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Update backend/prisma/seed/config.seed.ts

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* add note for ZIP archive in docs

* create logger instance

* make s3 instance dynamic

* add icon import

* remove console.logs

* add correct pdf viewing format

* add storage provider to share

* refactor: run formatter

* chore: add prisma migration

* fix: don't expose `storageProvider`

* chore: improve config variables description

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-12-19 12:06:49 +01:00
2024-11-26 15:53:33 +01:00
2023-07-31 08:56:22 +02:00
2024-09-18 23:16:41 +02:00
2022-04-26 08:15:49 +02:00
2024-11-26 15:53:33 +01:00
2024-11-26 15:53:33 +01:00
2024-08-25 16:06:55 +02:00


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

  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 can either help to translate Pingvin Share or contribute to the codebase.

❤️ Sponsors

Thank you for supporting Pingvin Share 🙏

Description
Pingvin Share is a self-hosted file sharing platform and an alternative for WeTransfer.
Readme BSD-2-Clause 21 MiB
Languages
TypeScript 99.8%
Dockerfile 0.1%
Shell 0.1%