env('FILESYSTEM_DISK', 'local'), /* |-------------------------------------------------------------------------- | Filesystem Disks |-------------------------------------------------------------------------- | | Below you may configure as many filesystem disks as necessary, and you | may even configure multiple disks for the same driver. Examples for | most supported storage drivers are configured here for reference. | | Supported drivers: "local", "ftp", "sftp", "s3" | */ 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app/private'), 'serve' => true, 'throw' => false, 'report' => false, ], 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', 'throw' => false, 'report' => false, ], 'tenant' => [ 'driver' => 'local', 'root' => storage_path('app/tenants'), 'visibility' => 'private', 'throw' => false, 'report' => false, ], 'app_releases' => [ 'driver' => 'local', 'root' => storage_path('app/releases'), 'visibility' => 'private', 'throw' => false, 'report' => false, ], 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), 'endpoint' => env('AWS_ENDPOINT'), 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), 'throw' => false, 'report' => false, ], ], /* |-------------------------------------------------------------------------- | File Upload Constraints |-------------------------------------------------------------------------- | | Configure file upload constraints such as maximum file size and | allowed file types for the file storage system. | */ 'file_constraints' => [ 'max_file_size' => env('FILE_MAX_SIZE', 20 * 1024 * 1024), // 20MB default 'allowed_extensions' => [ 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'zip', 'rar', '7z', 'tar', 'gz', 'txt', 'csv', 'xml', 'json', ], 'allowed_mimes' => [ 'application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'image/jpeg', 'image/png', 'image/gif', 'image/bmp', 'image/svg+xml', 'application/zip', 'application/x-rar-compressed', 'application/x-7z-compressed', 'application/x-tar', 'application/gzip', 'text/plain', 'text/csv', 'application/xml', 'application/json', ], ], /* |-------------------------------------------------------------------------- | Storage Policies |-------------------------------------------------------------------------- | | Configure storage quota policies, cleanup schedules, and retention | periods for the file storage system. | */ 'storage_policies' => [ 'default_limit' => env('STORAGE_DEFAULT_LIMIT', 10 * 1024 * 1024 * 1024), // 10GB 'warning_threshold' => 0.9, // 90% 'grace_period_days' => 7, 'temp_cleanup_days' => 7, 'trash_retention_days' => 30, ], /* |-------------------------------------------------------------------------- | Share Link Configuration |-------------------------------------------------------------------------- | | Configure default settings for file share links including expiry | time and maximum download limits. | */ 'share_link' => [ 'expiry_hours' => env('SHARE_LINK_EXPIRY_HOURS', 24), 'max_downloads' => env('SHARE_LINK_MAX_DOWNLOADS', null), // null = unlimited ], /* |-------------------------------------------------------------------------- | Symbolic Links |-------------------------------------------------------------------------- | | Here you may configure the symbolic links that will be created when the | `storage:link` Artisan command is executed. The array keys should be | the locations of the links and the values should be their targets. | */ 'links' => [ public_path('storage') => storage_path('app/public'), ], ];