MCPSERV.CLUB
FileGator

FileGator

Self-Hosted

Web‑based file manager for self‑hosted environments

Stale(68)
2.8kstars
0views
Updated Jul 1, 2025
FileGator screenshot 1
1 / 3

Overview

Discover what makes FileGator powerful

FileGator is a **self‑hosted, multi‑user file manager** that exposes a web UI for performing CRUD operations on local or remote storage. From a developer’s point of view it is a lightweight PHP application that abstracts file system interactions behind a REST‑like interface while still allowing full control over authentication, permissions and storage adapters. The core idea is to give teams or individual developers a secure, audit‑ready way to share and manage files without exposing the underlying server shell.

Granular access control

Chunked uploads

Storage abstraction

Built‑in compression

Overview

FileGator is a self‑hosted, multi‑user file manager that exposes a web UI for performing CRUD operations on local or remote storage. From a developer’s point of view it is a lightweight PHP application that abstracts file system interactions behind a REST‑like interface while still allowing full control over authentication, permissions and storage adapters. The core idea is to give teams or individual developers a secure, audit‑ready way to share and manage files without exposing the underlying server shell.

Key Features

  • Granular access control – Roles (admin, editor, viewer) and per‑user home directories are enforced at the PHP layer. Permissions can be configured via a JSON schema or the built‑in admin UI.
  • Chunked uploads – Files are streamed in 1 MiB chunks, enabling uploads of gigabyte‑sized assets even on low‑memory servers. The upload API also supports pause/resume, progress callbacks and server‑side integrity checks.
  • Storage abstraction – In addition to the local file system, FileGator can plug into S3, Google Cloud Storage, FTP/SFTP, and other adapters via a simple service interface. This is useful for scaling out to object stores or maintaining separate staging/production repositories.
  • Built‑in compression – ZIP creation and extraction are handled server‑side, allowing batch downloads or archive uploads with minimal client effort.
  • API hooks – Webhooks can be triggered on upload, delete or rename events, enabling integration with CI/CD pipelines, notification services or custom business logic.

Technical Stack

LayerTechnology
BackendPHP 8.1+, Laravel‑like routing, PSR‑4 autoloading
FrontendVue 3 (Composition API) bundled with Vite, Tailwind CSS for styling
StorageLocal FS (POSIX), S3 SDK, GCS SDK, custom adapters via StorageAdapterInterface
DatabaseSQLite (default) or MySQL/PostgreSQL for user & permission tables
AuthJWT‑based session tokens, optional LDAP/SSO via OAuth2 provider

The application follows a Model‑View‑Controller pattern, with controllers exposing JSON endpoints that the Vue client consumes. The file operations are wrapped in a service layer (FileService) that performs permission checks, logs actions and delegates to the chosen storage adapter.

Core Capabilities & Extensibility

Developers can extend FileGator by implementing new storage adapters or middleware. The StorageAdapterInterface defines methods such as list(), read(), write() and delete(). Adding a custom adapter is as simple as creating a class that implements the interface and registering it in config/storage.php. For event handling, the built‑in event dispatcher allows listening to events like FileUploaded or FileDeleted, which can trigger external processes or webhook calls.

The UI exposes a REST‑like API under /api/* that can be consumed by any client. Authentication is handled via session cookies or bearer tokens, making it straightforward to integrate with existing auth systems. The project ships with a Swagger/OpenAPI spec generated from annotations, giving developers a ready‑made contract for automated testing or SDK generation.

Deployment & Infrastructure

FileGator is intentionally lightweight: a single PHP file can be deployed behind any standard LAMP/LEMP stack, or containerized with Docker. The official Docker image is built on php:8.1-fpm-alpine and exposes port 80, making it trivial to spin up in Kubernetes or Docker‑Compose:

services:
  filegator:
    image: ghcr.io/filegator/filegator:latest
    ports: [8080:80]

For scalability, the stateless nature of PHP requests means multiple instances can run behind a load balancer. The storage adapters support remote object stores, so the application can be scaled horizontally without sharing a local file system. Persistent storage for user data is optional; SQLite works out of the box, but switching to MySQL/PostgreSQL only requires updating config/database.php.

Developer Experience

  • Configuration – All settings are stored in .env files and config/*.php, following Laravel conventions. This makes it easy to override defaults for different environments.
  • Documentation – The README contains installation steps, environment variables and API reference. Additionally, a dedicated /docs route serves Swagger UI for interactive exploration.
  • Community – The project is MIT‑licensed and actively maintained. Issues are triaged quickly, and pull requests are welcomed. A growing list of sponsors indicates a healthy ecosystem.
  • Testing – Code coverage badges and CI pipelines (GitHub Actions) ensure that new features do not break existing functionality. Developers can run phpunit locally to validate logic before merging.

Use Cases

  1. Internal file sharing – Teams can host a dedicated FileGator instance to share code snippets, design assets or documentation without exposing SSH access.
  2. Backup & restore – Automated backup jobs can push archives to FileGator, which then exposes them for quick download or restoration.
  3. Content delivery – A website can expose a public read‑only FileGator instance to serve downloadable resources (e.g., PDFs, datasets) with fine‑grained permission control.
  4. CI/CD artifact storage – Build pipelines can upload build artifacts to FileGator; webhooks notify downstream services or trigger deployment scripts.

Advantages


Open SourceReady to get started?

Join the community and start self-hosting FileGator today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
2.8k
Technical Specs
Pricing
Open Source
Docker
None
Supported OS
LinuxDocker
Author
filegator
filegator
Last Updated
Jul 1, 2025