MCPSERV.CLUB
Uploady

Uploady

Self-Hosted

Fast, secure multi‑file uploads with admin insights

Active(70)
105stars
0views
Updated Aug 15, 2025
Uploady screenshot 1
1 / 2

Overview

Discover what makes Uploady powerful

Uploady is a lightweight, self‑hosted file transfer service built in **PHP** that exposes a RESTful API for uploading, managing, and retrieving files. The core of the application is a single‑page interface powered by **Bootstrap** and **jQuery**, which leverages HTML5 Drag & Drop and multi‑file selection to deliver a near‑native upload experience. Behind the scenes, all metadata is persisted in **MySQL**, and optional image manipulation is performed via the GD library. The project ships with a comprehensive admin panel that visualizes upload statistics using Chart.js, making it easy for developers to monitor usage patterns without writing custom dashboards.

Robust validation

Role‑based quotas

Automated cleanup

Extensibility hooks

Overview

Uploady is a lightweight, self‑hosted file transfer service built in PHP that exposes a RESTful API for uploading, managing, and retrieving files. The core of the application is a single‑page interface powered by Bootstrap and jQuery, which leverages HTML5 Drag & Drop and multi‑file selection to deliver a near‑native upload experience. Behind the scenes, all metadata is persisted in MySQL, and optional image manipulation is performed via the GD library. The project ships with a comprehensive admin panel that visualizes upload statistics using Chart.js, making it easy for developers to monitor usage patterns without writing custom dashboards.

Key Features

  • Robust validation: Four protection layers (MIME type, file extension, size limits, and forbidden names) ensure that only safe files are stored.
  • Role‑based quotas: Each user role can be assigned a maximum upload size, facilitating multi‑tenant deployments.
  • Automated cleanup: Files can be purged after a configurable number of days or download counts, helping to manage storage costs.
  • Extensibility hooks: Custom CSS/JS, multi‑language support, and a simple plugin API allow developers to tailor the UI and add new behaviors without touching core code.
  • Analytics integration: Built‑in hooks for Google Analytics and AdSense make it straightforward to embed metrics or monetize the upload service.

Technical Stack

LayerTechnology
ServerPHP 8.x (OOP, Composer dependencies)
DatabaseMySQL / MariaDB
FrontendBootstrap 5.3 (CDN), jQuery, Chart.js
APICustom REST endpoints (/api/upload, /api/files) protected by an API key
ContainerizationDocker Compose with a separate MySQL service (db)
DeploymentWorks on shared hosting, VPS, or Docker‑based infrastructures

The codebase follows PSR‑4 autoloading and is linted with PHPStan/SonarCloud, ensuring maintainable, high‑quality code that is easy to extend.

Core Capabilities

  • File Upload API: Accepts multipart form data, returns JSON metadata (URL, size, MIME type).
  • Metadata API: Retrieve file lists, delete files, and fetch download statistics.
  • Webhooks: Expose hooks for post‑upload events (e.g., trigger a Lambda function or notify Slack).
  • Custom URL Shortener: Planned feature to generate short links for sharing.
  • S3 Integration (backlog): Future support will allow offloading storage to AWS S3, enabling horizontal scaling.

Deployment & Infrastructure

Uploady requires a PHP‑capable web server (Apache/Nginx) and MySQL. For rapid prototyping, Docker Compose is fully supported:

services:
  app:
    image: uploady:latest
    depends_on:
      - db
  db:
    image: mysql:8.0

The container exposes port 80 and mounts a persistent volume for uploads, ensuring data survives restarts. The application is stateless beyond file storage and MySQL, making it trivial to scale horizontally behind a load balancer or in Kubernetes with persistent volumes.

Integration & Extensibility

  • Plugin system: Developers can drop PHP classes into the plugins/ directory; each plugin registers callbacks for upload events.
  • Webhooks: Configure external URLs in the admin panel; Uploady POSTs JSON payloads after successful uploads.
  • API key rotation: Keys are stored in the database and can be rotated via the admin UI, enhancing security.
  • Custom scripts: The custom.js and custom.css files allow overriding default UI behavior without forking.

Developer Experience

The documentation is concise yet thorough, with a dedicated Wiki covering shared‑hosting setup and Docker deployment. The API is documented via curl examples, and the source code contains inline comments that explain business logic. Community support appears active; issues are triaged quickly, and contributors can propose new features through GitHub PRs. Licensing under MIT ensures no copyleft restrictions, allowing integration into proprietary products.

Use Cases

  1. Internal File Sharing – Companies can deploy Uploady on an intranet to share documents, images, or logs without exposing sensitive data to public cloud services.
  2. Developer Portals – Tooling vendors can embed Uploady into their dashboards to let users upload binaries or assets.
  3. Media Workflows – Photographers or designers can host a dedicated upload site for clients to submit high‑resolution files.
  4. Event Registrations – Organizers can collect participant documents (e.g., IDs, certificates) with role‑based quotas and automated cleanup.

Advantages

  • Performance: Pure PHP + MySQL stack is lightweight; no heavy frameworks or ORMs are required.
  • Flexibility: The plugin API and custom JS/CSS make it easy to adapt the UI or add domain‑specific logic.
  • Licensing: MIT license permits commercial use without royalties.
  • Scalability: Stateless design and Docker support enable horizontal scaling; future S3 integration will offload storage.
  • Security: Built‑in validation layers, API key protection, and optional download limits reduce attack surface.

In summary, Uploady delivers a feature‑rich, self‑hosted file upload solution that balances simplicity with extensibility, making it an attractive choice for developers needing a quick,

Open SourceReady to get started?

Join the community and start self-hosting Uploady today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
105
Technical Specs
Pricing
Open Source
Database
MySQL
Docker
Dockerfile
Supported OS
LinuxDocker
Author
farisc0de
farisc0de
Last Updated
Aug 15, 2025