Overview
Discover what makes Uguu powerful
Uguu is a lightweight, self‑hosted file transfer service that focuses on speed and minimalism. At its core it exposes a single HTTP endpoint for uploading arbitrary files, then returns a short URL that can be shared or embedded. The service is intentionally stateless from the client perspective—no registration, no authentication required for uploads—but it offers a rich set of server‑side controls such as MIME/extension whitelisting, hash blacklisting, and rate limiting that give developers fine‑grained policy enforcement. Because the application is built on PHP 8.3, it can run in virtually any LAMP stack, making it a drop‑in replacement for other temporary file hosts.
Runtime
Web Server
Database
Build Tool
Overview
Uguu is a lightweight, self‑hosted file transfer service that focuses on speed and minimalism. At its core it exposes a single HTTP endpoint for uploading arbitrary files, then returns a short URL that can be shared or embedded. The service is intentionally stateless from the client perspective—no registration, no authentication required for uploads—but it offers a rich set of server‑side controls such as MIME/extension whitelisting, hash blacklisting, and rate limiting that give developers fine‑grained policy enforcement. Because the application is built on PHP 8.3, it can run in virtually any LAMP stack, making it a drop‑in replacement for other temporary file hosts.
Technical Stack & Architecture
- Runtime: PHP 8.3 with PSR‑12 coding standards, enabling easy integration into existing PHP codebases or containerized environments.
- Web Server: Compatible with Nginx, Apache, or any HTTP server that can proxy PHP‑FastCGI.
- Database: Optional persistence through SQLite, MySQL, or PostgreSQL; the schema is minimal (file metadata table) and can be swapped with a NoSQL store if needed.
- Build Tool:
buncompiles the front‑end assets (JavaScript, CSS) into a single bundle before deployment; this keeps runtime dependencies low. - API Layer: A REST‑like
/uploadendpoint accepts multipart/form-data or raw binary streams, returning configurable payloads (JSON, HTML, plain text, CSV).
The application follows a thin MVC pattern: the controller parses the request, delegates to a service layer that handles validation (extension/MIME checks), rate limiting, and persistence, then renders the response using a lightweight templating engine.
Core Capabilities & Developer APIs
- Upload API: POST
/uploadwithfilefield; supports optional query parameters to select response format (?format=json). - Webhook Support: After a successful upload, the service can POST a payload to a configurable URL (e.g., Slack, Discord) for real‑time notifications.
- Rate Limiting: Configurable per‑IP or per‑session limits, implemented via Redis or in‑memory counters.
- File Policy: Administrators can define whitelists/blacklists for MIME types and file extensions, plus hash‑based bans to prevent duplicate uploads.
- Metadata Retrieval: A GET endpoint
/file/{id}returns file metadata in JSON, useful for audit or analytics.
These APIs are documented in the official wiki and come with sample payloads, making it straightforward for developers to build custom upload clients or integrate Uguu into CI/CD pipelines.
Deployment & Infrastructure
Uguu is designed for self‑hosting scenarios:
- Containerization: A Dockerfile is available; the image bundles PHP, Nginx, and the compiled assets, enabling quick spin‑up in Kubernetes or Docker Compose.
- Scalability: Statelessness of the upload endpoint means multiple instances can share a common database and storage backend (S3, local disk, or networked file system).
- High Availability: Combine with a load balancer and persistent storage to achieve zero downtime deployments.
- Resource Footprint: Minimal RAM (≈200 MB) and CPU usage; ideal for small VPS or edge deployments.
Because the database is optional, a pure file‑system deployment (e.g., using Nginx’s alias directive) is possible for ultra‑light setups.
Integration & Extensibility
Uguu exposes a plugin hook system that allows developers to inject custom logic before or after uploads. For example, one could add a virus scan via ClamAV, integrate with external storage services, or augment the response payload. The webhook system and JSON API also make it trivial to hook into third‑party services like Slack, Mattermost, or custom dashboards. Additionally, the front‑end is built with vanilla JavaScript and minimal dependencies, so it can be overridden or replaced entirely without touching the PHP core.
Developer Experience & Community
- Documentation: The official wiki covers configuration, API usage, and deployment scenarios in detail.
- Coding Standards: Strict PSR‑12 enforcement via PHPCS ensures clean, maintainable code.
- Community: The project is open‑source under GPL‑3.0, with an active issue tracker and pull request workflow on GitHub.
- Support: Direct contact via Twitter or email is encouraged, and the maintainers are responsive to feature requests and bug reports.
These factors make Uguu an attractive choice for developers who need a quick, configurable file‑sharing service without the overhead of full‑blown cloud storage solutions.
Use Cases
- Internal Tooling: Developers can host build artifacts or screenshots for quick sharing within a team.
- Continuous Integration: CI pipelines can upload logs or test reports to Uguu and embed the links in build notifications.
- Educational Platforms: Instructors can provide students with temporary file URLs for assignments or resources.
- Rapid Prototyping: Front‑end developers can use Uguu to host assets during demos without setting up a CDN.
Overall, Uguu offers a blend of simplicity, configurability, and performance that appeals to developers seeking a self‑hosted file transfer solution without sacrificing control or extensibility.
Open SourceReady to get started?
Join the community and start self-hosting Uguu today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Notifo
Multi‑channel notification service for modern apps
TrailBase
Fast, single‑file Firebase alternative built on Rust
Chiyogami
Secure, private pastebin for developers and users
0 A.D.
Free real‑time strategy game set in antiquity
OctoPrint
Remote control and monitoring for 3D printers
Jina
Build and deploy AI services at scale