plik  by root-gg

Scalable, self-hosted file upload system

Created 11 years ago
1,698 stars

Top 24.5% on SourcePulse

GitHubView on GitHub
Project Summary

Plik is a self-hosted, scalable, and user-friendly temporary file upload system, designed as an alternative to services like WeTransfer. It targets individuals and organizations needing a private, controlled file-sharing solution, offering a modern web interface and a powerful command-line client. The system provides flexibility through diverse backend options and robust security features.

How It Works

Plik is built with a Go backend and features a modern Vue 3 web interface. Its architecture supports multiple storage backends, including local disk, Amazon S3, OpenStack Swift, and Google Cloud Storage, allowing deployment flexibility. Metadata persistence is handled by choices like SQLite, PostgreSQL, or MySQL. Key functionalities include configurable Time-To-Live (TTL) with automatic cleanup, one-shot downloads (deleting files after the first retrieval), and a unique stream mode for direct peer-to-peer transfers without server-side storage.

Quick Start & Requirements

Installation can be achieved via Docker (docker run -p 8080:8080 rootgg/plik), by downloading pre-compiled binaries, or by building from source using make. A Helm chart is also available for Kubernetes deployments. The web interface is accessible at http://127.0.0.1:8080 after starting the server. The command-line client plik facilitates uploads directly from the terminal. Detailed CLI documentation is available.

Highlighted Details

  • Supports multiple storage backends (local, S3, OpenStack Swift, GCS) and metadata databases (SQLite, PostgreSQL, MySQL).
  • Offers various authentication providers including Local, Google, OVH, and OIDC.
  • Features end-to-end encryption using Age, interoperable between CLI and Web clients.
  • Includes a "Stream mode" for direct uploader-to-downloader transfers, minimizing server storage.
  • Integrates with third-party tools like ShareX, has a .NET client (plikSharp), and a Thunderbird addon.
  • Provides Prometheus metrics for monitoring.

Maintenance & Community

The project maintains a Telegram channel (https://t.me/plik_rootgg) for community interaction. Documentation is available at https://root-gg.github.io/plik, and a live demo can be accessed at https://plik.root.gg. Contribution guidelines are provided for developers interested in participating.

Licensing & Compatibility

Plik is released under the MIT license. This permissive license allows for broad compatibility, including commercial use and integration into closed-source applications without significant restrictions.

Limitations & Caveats

The provided README does not explicitly detail any limitations, alpha/beta status, or known bugs. The project appears to be actively developed with a comprehensive feature set.

Health Check
Last Commit

17 hours ago

Responsiveness

Inactive

Pull Requests (30d)
78
Issues (30d)
14
Star History
12 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Joe Walnes Joe Walnes(Head of Experimental Projects at Stripe), and
9 more.

3FS by deepseek-ai

0.1%
10k
Distributed file system for AI training/inference workloads
Created 1 year ago
Updated 20 hours ago
Feedback? Help us improve.