mirror of
https://github.com/filegator/filegator.git
synced 2025-01-18 13:23:33 +01:00
044df2559c
ci setup
150 lines
6.1 KiB
PHP
150 lines
6.1 KiB
PHP
<?php
|
|
|
|
return [
|
|
'public_path' => APP_PUBLIC_PATH,
|
|
'public_dir' => APP_PUBLIC_DIR,
|
|
|
|
'frontend_config' => [
|
|
'app_name' => 'FileGator',
|
|
'app_version' => APP_VERSION,
|
|
'language' => 'english',
|
|
'logo' => 'https://raw.githubusercontent.com/filegator/static/master/logo.png',
|
|
'upload_max_size' => 1000000 * 1024 * 1024,
|
|
'upload_chunk_size' => 1 * 1024 * 1024,
|
|
'upload_simultaneous' => 3,
|
|
'default_archive_name' => 'archive.zip',
|
|
],
|
|
|
|
'services' => [
|
|
'Filegator\Services\Logger\LoggerInterface' => [
|
|
'handler' => '\Filegator\Services\Logger\Adapters\MonoLogger',
|
|
'config' => [
|
|
'monolog_handlers' => [
|
|
function () {
|
|
return new \Monolog\Handler\StreamHandler(
|
|
__DIR__.'/private/logs/app.log',
|
|
\Monolog\Logger::DEBUG
|
|
);
|
|
},
|
|
],
|
|
],
|
|
],
|
|
'Filegator\Services\Session\SessionStorageInterface' => [
|
|
'handler' => '\Filegator\Services\Session\Adapters\SessionStorage',
|
|
'config' => [
|
|
'session_handler' => 'filesession',
|
|
'available' => [
|
|
'filesession' => function () {
|
|
$save_path = null; // use default system path
|
|
//$save_path = __DIR__.'/private/sessions';
|
|
$handler = new \Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler($save_path);
|
|
|
|
return new \Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage([], $handler);
|
|
},
|
|
'database' => function () {
|
|
$handler = new \Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler(
|
|
'mysql://root:password@localhost:3360/filegator'
|
|
);
|
|
|
|
return new \Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage([], $handler);
|
|
},
|
|
],
|
|
],
|
|
],
|
|
'Filegator\Services\Cors\Cors' => [
|
|
'handler' => '\Filegator\Services\Cors\Cors',
|
|
'config' => [
|
|
'enabled' => APP_ENV == 'production' ? false : true,
|
|
],
|
|
],
|
|
'Filegator\Services\Tmpfs\TmpfsInterface' => [
|
|
'handler' => '\Filegator\Services\Tmpfs\Adapters\Tmpfs',
|
|
'config' => [
|
|
'path' => __DIR__.'/private/tmp/',
|
|
'gc_probability_perc' => 10,
|
|
'gc_older_than' => 60 * 60 * 24 * 2, // 2 days
|
|
],
|
|
],
|
|
'Filegator\Services\Security\Security' => [
|
|
'handler' => '\Filegator\Services\Security\Security',
|
|
'config' => [
|
|
'csrf_protection' => true,
|
|
'ip_whitelist' => [],
|
|
'ip_blacklist' => [],
|
|
],
|
|
],
|
|
'Filegator\Services\View\ViewInterface' => [
|
|
'handler' => '\Filegator\Services\View\Adapters\Vuejs',
|
|
],
|
|
'Filegator\Services\Storage\Filesystem' => [
|
|
'handler' => '\Filegator\Services\Storage\Filesystem',
|
|
'config' => [
|
|
'separator' => '/',
|
|
'config' => [],
|
|
'filesystem_adapter' => 'localfilesystem',
|
|
'adapters' => [
|
|
'localfilesystem' => function () {
|
|
return new \League\Flysystem\Adapter\Local(
|
|
__DIR__.'/repository'
|
|
);
|
|
},
|
|
'ftp' => function () {
|
|
// see: https://flysystem.thephpleague.com/docs/adapter/ftp/
|
|
return new \League\Flysystem\Adapter\Ftp([
|
|
'host' => 'example.com',
|
|
'username' => 'demo',
|
|
'password' => 'password',
|
|
'port' => 21,
|
|
'timeout' => 10,
|
|
]);
|
|
},
|
|
'sftp' => function () {
|
|
// composer require league/flysystem-sftp
|
|
// see: https://flysystem.thephpleague.com/docs/adapter/sftp/
|
|
return new \League\Flysystem\Sftp\SftpAdapter([
|
|
'host' => 'example.com',
|
|
'port' => 22,
|
|
'username' => 'demo',
|
|
'password' => 'password',
|
|
'timeout' => 10,
|
|
]);
|
|
},
|
|
'dropbox' => function () {
|
|
// composer require spatie/flysystem-dropbox
|
|
// see: https://flysystem.thephpleague.com/docs/adapter/dropbox/
|
|
$authorizationToken = '1234';
|
|
$client = new \Spatie\Dropbox\Client($authorizationToken);
|
|
|
|
return new \Spatie\FlysystemDropbox\DropboxAdapter($client);
|
|
},
|
|
],
|
|
],
|
|
],
|
|
'Filegator\Services\Archiver\ArchiverInterface' => [
|
|
'handler' => '\Filegator\Services\Archiver\Adapters\ZipArchiver',
|
|
'config' => [],
|
|
],
|
|
'Filegator\Services\Auth\AuthInterface' => [
|
|
'handler' => '\Filegator\Services\Auth\Adapters\JsonFile',
|
|
'config' => [
|
|
'file' => __DIR__.'/private/users.json',
|
|
],
|
|
//'handler' => '\Filegator\Services\Auth\Adapters\Database',
|
|
//'config' => [
|
|
// 'driver' => 'mysqli',
|
|
// 'host' => 'localhost',
|
|
// 'username' => 'root',
|
|
// 'password' => 'password',
|
|
// 'database' => 'filegator',
|
|
//],
|
|
],
|
|
'Filegator\Services\Router\Router' => [
|
|
'handler' => '\Filegator\Services\Router\Router',
|
|
'config' => [
|
|
'query_param' => 'r',
|
|
'routes_file' => __DIR__.'/backend/Controllers/routes.php',
|
|
],
|
|
],
|
|
],
|
|
];
|