filegator / filegator
Filegator
Installs: 68
Dependents: 0
Suggesters: 0
Security: 2
Stars: 2 187
Watchers: 35
Forks: 386
Open Issues: 191
Type:project
Requires
- php: ^7.2
- dibi/dibi: ^4.1
- league/flysystem: ^1.1
- league/flysystem-ziparchive: ^1.0
- monolog/monolog: ^1.24
- nikic/fast-route: ^1.3
- php-di/php-di: ^6.0
- rakit/validation: ^1.1
- symfony/http-foundation: ^4.4
- symfony/security-csrf: ^4.4
Requires (Dev)
- league/flysystem-memory: ^1.0
- phpstan/phpstan: ^0.11.8
- phpunit/phpunit: ^8.0
- symfony/var-dumper: ^4.4
- dev-master
- v7.11.1
- v7.11.0
- v7.10.1
- v7.10.0
- v7.9.3
- v7.9.2
- v7.9.1
- v7.9.0
- v7.8.7
- v7.8.6
- v7.8.5
- v7.8.4
- v7.8.3
- v7.8.2
- v7.8.1
- v7.8.0
- v7.7.2
- v7.7.1
- v7.7.0
- v7.6.0
- v7.5.3
- v7.5.2
- v7.5.1
- v7.5.0
- v7.4.7
- v7.4.6
- v7.4.5
- v7.4.4
- v7.4.3
- v7.4.2
- v7.4.1
- v7.4.0
- v7.3.5
- v7.3.4
- v7.3.3
- v7.3.2
- v7.3.1
- v7.3.0
- v7.2.1
- v7.2.0
- v7.1.6
- v7.1.5
- v7.1.4
- v7.1.3
- v7.1.2
- v7.1.1
- v7.1.0
- v7.0.1
- v7.0.0
- v7.0.0-RC3
- v7.0.0-RC2
- v7.0.0-RC1
- dev-dependabot/composer/symfony/http-foundation-5.4.46
- dev-dependabot/npm_and_yarn/elliptic-6.6.0
- dev-dependabot/npm_and_yarn/multi-cf87d80143
- dev-dependabot/npm_and_yarn/multi-d66d039ac5
- dev-dependabot/npm_and_yarn/multi-27a054522e
This package is auto-updated.
Last update: 2024-11-27 08:23:08 UTC
README
FileGator - Powerful Multi-User File Manager
FileGator is a free, open-source, self-hosted web application 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 adapters (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, edit, create, delete, preview, 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.
Sponsors & Backers
FileGator is a free, open-source project. It's an independent project with its ongoing development made possible entirely thanks to the support by these awesome backers. If you'd like to join them, please consider:
Demo
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.
Typical use cases
- share a folder with colleagues, your team, friends or family
- give students access to upload their work
- allow workers to upload field data / docs / images
- use as cloud backup
- manage cdn with multiple people
- use as ftp/sftp replacement
- manage s3 or other 3rd party cloud storage
- use to quickly zip and download remote files
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, database or use WordPress)
- Multiple session adapters (Native File, Pdo, Redis, 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
Limitations
- Symlinks are not supported by the underlying Flysystem
- File ownership is not supported (chown)
Docker
Check out the official docker image with instructions on how to use it
Docker quick start:
docker run -p 8080:8080 -d filegator/filegator
visit: http://127.0.0.1:8080 login as admin/admin123
Download & Installation
See install instructions. Get $100 in (server credits here) so you can play around.
Project setup for development (Docker)
git clone https://github.com/filegator/filegator.git
cd filegator
docker compose -f docker-compose-dev.yml up
Once everything is ready visit: http://localhost:8080 and login as admin/admin123, Ctrl+c to stop.
See docker-compose-dev.yml
for more informations about configurations and dependencies.
Project setup for development (Linux)
You must have git
, php
, node (v14)
, npm
, and composer
installed.
git clone https://github.com/filegator/filegator.git
cd filegator
cp configuration_sample.php configuration.php
chmod -R 775 private/
chmod -R 775 repository/
composer install --ignore-platform-reqs
npm install
npm run build
npm run serve
Once everything is ready visit: http://localhost:8080 and login as admin/admin123
Run tests & static analysis
Testing requires xdebug, php-zip and sqlite php extensions.
vendor/bin/phpunit
vendor/bin/phpstan analyse ./backend
npm run lint
npm run test:e2e
Deployment
Set the website document root to filegator/dist
directory. This is also known as 'public' folder.
NOTE: For security reasons filegator/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. If you run the script from the root folder, you will see the message 'Development mode' as a security warning.
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.