Skip to content
Powerful Multi-User File Manager
Branch: master
Clone or download
Latest commit 38089c5 Jul 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backend checking resource before closing zip Jun 25, 2019
dist RC3 Jun 19, 2019
docs docs menu fix Jul 12, 2019
frontend Spanish language added by abelcastosa Jun 27, 2019
private initial commit Jun 13, 2019
repository initial commit Jun 13, 2019
tests cypress e2e tests; Jun 26, 2019
.env.local initial commit Jun 13, 2019
.env.production initial commit Jun 13, 2019
.eslintrc.js lint tweaks Jun 26, 2019
.gitignore basic docs Jun 18, 2019
.php_cs initial commit Jun 13, 2019
.travis.yml cypress e2e tests Jun 26, 2019
LICENSE docs upd Jun 20, 2019
README.md Update README.md Jul 11, 2019
babel.config.js initial commit Jun 13, 2019
composer.json refactoring Jun 14, 2019
composer.lock refactoring Jun 14, 2019
configuration_sample.php storage config simplified Jun 19, 2019
couscous.yml docs, tmpfs Jul 12, 2019
cypress.json front tests setup Jun 26, 2019
index.php initial commit Jun 13, 2019
jest.config.js front tests setup Jun 26, 2019
package-lock.json lint tweaks Jun 26, 2019
package.json cypress e2e tests Jun 26, 2019
phpunit.xml initial commit Jun 13, 2019
postcss.config.js initial commit Jun 13, 2019
robots.txt initial commit Jun 13, 2019
vue.config.js initial commit Jun 13, 2019

README.md

Build Status Code Coverage License

FileGator - Powerful Multi-User File Manager

FileGator is a free, open-source PHP script for managing files and folders.

You can manage files inside your local repository folder (on your server's hard drive) or connect to other storage adaptes (see below).

FileGator has multi-user support so you can have admins and other users managing files with different access permissions, roles and home folders.

All basic file operations are supported: copy, move, rename, create, delete, zip, unzip, download, upload.

If allowed, users can download multiple files or folders at once.

File upload supports drag&drop, progress bar, pause and resume. Upload is chunked so you should be able to upload large files regardless of your server configuration.

Demo

https://demo.filegator.io

This is read-only demo with guest account enabled.

  • you can log in as john/john to see John's private files
  • or jane/jane as readonly + download user.

Documentation

Check out the documentation

Features & Goals

  • Multiple storage adapters (Local, FTP, Amazon S3, Dropbox, DO Spaces, Azure Blob and many others via Flysystem)
  • Multiple auth adapters with roles and permissions (Store users in json file or database)
  • Multiple session adapters (Native File, Pdo, MongoDB, Memcached and others via Symfony)
  • Single page front-end (built with Vuejs, Bulma and Buefy)
  • Chunked uploads (built with Resumable.js)
  • Zip and bulk download support
  • Highly extensible, decoupled and tested code
  • No database required
  • Framework free

Requirements

  • PHP 7.1.3+

Download precompiled build

  • Latest: v7.0.0-RC3
  • Unzip files and upload them to your PHP server
  • Make sure you webserver can read and write to /storage and /private folders
  • Set the website document root to /dist directory. This is also known as 'public' folder.
  • Visit web page, if something goes wrong check /private/logs/app.log
  • Login with default credentials admin/admin123
  • Change default admin's password

Project setup for development (Linux)

You must have git, php, npm, and composer installed.

git clone git@github.com:filegator/filegator.git
cd filegator
cp configuration_sample.php configuration.php
sudo chmod -R 777 private/
sudo chmod -R 777 repository/
composer install
npm install
npm run build

We also have a sample docker image here

Compiles and hot-reloads

The following command will launch backend and frontend on ports 8081 and 8080:

npm run serve

Once everything is ready visit: http://localhost:8080

Run tests & static analysis

vendor/bin/phpunit
vendor/bin/phpstan analyse ./backend
npm run lint
npm run e2e

Deployment

Set the website document root to /dist directory. This is also known as 'public' folder.

Show your support

Please ⭐️ this repository if this project helped you!

Security

If you discover any security related issues, please email alcalbg@gmail.com instead of using the issue tracker.

License

Copyright (c) 2019 Milos Stojanovic.

This project is MIT licensed.

You can’t perform that action at this time.