2019-06-14 09:36:58 +02:00
< p align = "center" >
2019-06-14 13:49:59 +02:00
< img src = "https://raw.githubusercontent.com/filegator/filegator/master/dist/img/logo.gif" >
2019-06-14 09:36:58 +02:00
< / p >
2019-06-13 18:52:40 +02:00
2019-06-14 10:04:13 +02:00
< p align = "center" >
< a href = "https://travis-ci.org/filegator/filegator" > < img src = "https://travis-ci.org/filegator/filegator.svg?branch=master" alt = "Build Status" > < / a >
2019-06-14 11:04:13 +02:00
< a href = "https://codecov.io/gh/filegator/filegator" > < img src = "https://codecov.io/gh/filegator/filegator/branch/master/graph/badge.svg" alt = "Code Coverage" > < / a >
2019-06-14 10:04:13 +02:00
< a href = "https://opensource.org/licenses/MIT" > < img src = "https://img.shields.io/badge/License-MIT-green.svg" alt = "License" > < / a >
< / p >
2019-06-14 09:53:15 +02:00
2019-06-14 09:38:55 +02:00
2019-06-13 18:52:40 +02:00
## FileGator - Powerful Multi-User File Manager
2019-06-18 13:02:55 +02:00
FileGator is a free, open-source PHP script for managing files and folders.
2019-08-07 11:37:57 +02:00
You can manage files inside your local repository folder (on your server's hard drive) or connect to other storage adapters (see below).
2019-06-18 13:02:55 +02:00
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.
2019-06-13 18:52:40 +02:00
2019-06-15 09:23:43 +02:00
## Demo
2019-06-16 12:10:36 +02:00
[https://demo.filegator.io ](https://demo.filegator.io )
This is read-only demo with guest account enabled.
2019-06-21 12:20:37 +02:00
- you can log in as `john/john` to see John's private files
- or `jane/jane` as readonly + download user.
2019-06-15 09:23:43 +02:00
2019-06-18 16:08:32 +02:00
## Documentation
[Check out the documentation ](https://docs.filegator.io/ )
2019-06-13 18:52:40 +02:00
## Features & Goals
2019-06-24 19:14:31 +02:00
- Multiple storage adapters (Local, FTP, Amazon S3, Dropbox, DO Spaces, Azure Blob and many others via [Flysystem ](https://github.com/thephpleague/flysystem ))
2019-06-14 11:23:28 +02:00
- 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 ](https://github.com/symfony/symfony/tree/master/src/Symfony/Component/HttpFoundation/Session/Storage/Handler ))
2019-06-14 15:24:25 +02:00
- Single page front-end (built with [Vuejs ](https://github.com/vuejs/vue ), [Bulma ](https://github.com/jgthms/bulma ) and [Buefy ](https://github.com/buefy/buefy ))
- Chunked uploads (built with [Resumable.js ](https://github.com/23/resumable.js ))
2019-06-13 18:52:40 +02:00
- Zip and bulk download support
- Highly extensible, decoupled and tested code
2019-06-14 11:23:28 +02:00
- No database required
- Framework free [™ ](https://www.youtube.com/watch?v=L5jI9I03q8E )
2019-06-13 18:52:40 +02:00
## Requirements
2019-06-14 10:14:45 +02:00
- PHP 7.1.3+
2019-06-13 18:52:40 +02:00
2019-06-19 10:00:27 +02:00
## Download precompiled build
2019-08-30 11:46:02 +02:00
Precompiled build is created for non-developers. In this version, the frontend (javascript) is compiled for you and the source code is removed so the final archive contains only minimum files.
2019-08-01 10:21:13 +02:00
- Latest: [v7.0.1 ](https://github.com/filegator/static/raw/master/builds/filegator_v7.0.1.zip )
2019-06-19 10:00:27 +02:00
- Unzip files and upload them to your PHP server
2019-06-21 11:59:42 +02:00
- 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`
2019-06-19 10:00:27 +02:00
- Change default admin's password
## Project setup for development (Linux)
2019-06-21 11:59:42 +02:00
You must have `git` , `php` , `npm` , and `composer` installed.
2019-06-19 10:00:27 +02:00
```
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
```
2019-07-11 16:16:27 +02:00
We also have a sample docker image [here ](https://github.com/filegator/demo )
2019-06-19 10:00:27 +02:00
## Compiles and hot-reloads
The following command will launch backend and frontend on ports 8081 and 8080:
```
npm run serve
```
2019-06-21 11:59:42 +02:00
Once everything is ready visit: `http://localhost:8080`
2019-06-19 10:00:27 +02:00
## Run tests & static analysis
2019-08-27 15:32:59 +02:00
Testing requires xdebug and sqlite php extensions.
2019-06-19 10:00:27 +02:00
```
vendor/bin/phpunit
vendor/bin/phpstan analyse ./backend
2019-06-25 19:16:57 +02:00
npm run lint
2019-06-26 14:58:38 +02:00
npm run e2e
2019-06-19 10:00:27 +02:00
```
## Deployment
2019-06-21 11:59:42 +02:00
Set the website document root to `/dist` directory. This is also known as 'public' folder.
2019-06-19 10:00:27 +02:00
2019-08-30 11:46:02 +02:00
NOTE: For security reasons `/dist` is the ONLY folder you want to be exposed through the web. Everything else should be outside of your web root, this way people can’ t access any of your important files through the browser.
2019-06-20 13:18:04 +02:00
## Show your support
Please ⭐️ this repository if this project helped you!
2019-06-19 10:00:27 +02:00
2019-06-13 18:52:40 +02:00
## Security
2019-06-20 13:27:15 +02:00
2019-06-13 18:52:40 +02:00
If you discover any security related issues, please email alcalbg@gmail .com instead of using the issue tracker.
2019-06-20 13:27:15 +02:00
## License
Copyright (c) 2019 [Milos Stojanovic ](https://github.com/alcalbg ).
This project is MIT licensed.