to navigate to open Esc to close Search by Algolia

Advanced configuration

Most of the configuration is done from FileRun's control panel.

However, there are additional configuration options that can be set from a configuration file.

The location of the configuration file is customizables/config.php.

Create the file if it does not exist.

Important

The file needs to start with <?php on the first line.

Do not end the file with ?>!

User Interface Options

 1$config['app']['quick_tags'] = [
 2    ['color' => 'green', 'text' => 'approved'],
 3    ['color' => 'orange', 'text' => 'pending'],
 4    ['color' => 'red', 'text' => 'rejected'],
 5    'filerun',
 6    'yellow'
 7];

Define the quick tags.

 1$config['app']['ui']['custom_js_url'] = 'http://your-website/your.js';

Add custom JavaScript code to the FileRun UI. You can also skip this and create the file "customizables/theme.css" and enable it from under the FileRun control panel section "Interface → Branding → Theme".

 1$config['app']['hidden_file_names'][] = "_*";

Hides files and folders whose names are starting with "_", only in the regular user interface. You can add multiple configuration lines like this one, for various filename patterns. Hidden files and folders will still be visible and accessible via the API, WebDAV and apps. Hidden files and folders can be created and uploaded by users, even if they don't show in the list. Downloading a folder containing hidden files and folders, will not include these files.

 1$config['thumbs']['limit_file_size'] = 20971520;

If the thumbnail generation requires image resizing, this limits the resizing only to files larger than 20971520 bytes (20MB). ImageMagick can take a lot of hardware resources while trying to process very large files.

Web links

 1$now = new DateTime();
 2$nextWeek = $now->add(new DateInterval('P1W'));
 3$config['app']['weblinks']['defaults']['expiry'] = $nextWeek->format('Y-m-d');

Make weblinks expire by default after one week. For other time intervals, see http://php.net/manual/en/dateinterval.construct.php

 1$config['app']['weblinks']['forcePasswords'] = true;

Forces the users to set passwords to the created web links.

 1$config['app']['weblinks']['logging']['folder_access']['disable'] = true;

Disables logging of accesses made to Web Linked folders.

Admin and security

 1$config['app']['signup']['unique_company'] = true;

Force users to type a unique company name at registration.

 1$config['app']['admin']['users']['delete']['skipHomeFolderSubCheck'] = true;

Allows you to delete one user's home folder when you are deleting the user accounts, even if the user's home folder contains other users' home folders. We recommend you not to use this option, to avoid accidental file loss.

 1$config['app']['login']['restrict_ip']['admin'] = "192.168.0.1";

Limit the access of user "admin" to IP address "192.168.0.1". You can configure as many users as you want. The value can also be an array of multiple IP addresses (Example: ['192.168.0.1', '192.168.0.1'])

 1$config['app']['login']['restrict_ip']['admin'] = "192.168.1.0/24";

Limit the access of user "admin" to IP address range "192.168.0.*" using a 24 bit subnet mask.
There are three possible formats that can be used:
1. Wildcard format: 1.2.3.*
2. CIDR format: 1.2.3/24 OR 1.2.3.4/255.255.255.0
3. Start-End IP format: 1.2.3.0-1.2.3.255

 1$config['app']['logging']['skip_receive_download'] = true;

Stops FileRun from logging, for the other users, that somebody downloaded a file.

When a user acts on a file or a folder, FileRun writes the record in that user's own activity log. It then looks for every other active account whose home folder contains that file, and writes a second record in the activity log of each one, so that those users see what somebody else did to a file they can also reach. These second records are named after the action: receive_download, receive_upload, receive_move, receive_comment_added, and so on. Nothing is written for actions performed inside the trash.

The option exists once per action. Replace download with the name of the action you want to leave out:

 1$config['app']['logging']['skip_receive_upload'] = true;
 2$config['app']['logging']['skip_receive_preview'] = true;

To leave out all of them at once:

 1$config['app']['logging']['skip_receive_all'] = true;

This is useful when many users share the same home folder, or when an admin's home folder is the parent folder of everybody else's. Each action then writes one extra record for every account that can reach the file, and the activity log grows accordingly.

Two things change besides the size of the log:

  • Those users no longer see in their activity log what other users did to those files. The record written for the user who performed the action is not affected, and neither is the file activity log.
  • The e-mail notification rules built on those actions stop sending, because they are fed by these records. "A file has been downloaded by another user" is one of them.
 1$config['system']['email']['logging']['retention_days'] = 5;

Sets the number of days FileRun keeps the e-mail notification logs to 5. The default setting is 2.

 1$config['app']['email_notification']['basic_actions'] = [
 2    'space_quota_warning',
 3    'shared_folder_available',
 4    'shared_file_available',
 5    'receive_copy',
 6    'receive_move',
 7    'receive_upload',
 8    'receive_comment_added',
 9    'receive_download',
10    'receive_tag_added'
11];

These are the default actions FileRun is e-mailing users about when notifications are enabled.

System

 1$config['path']['trash'] = '/path/with/write/permission/';

Folder to store the trashed files and folders. The folder can be on a separate device, partition or file system: when a folder cannot be moved there directly, FileRun copies it and then deletes the original.

 1$config['path']['thumbnail_cache'] = '/path/with/write/permission/';

Folder to store generated thumbnail data in. Make sure you use an absolute path and avoid an empty value at all costs, as it can lead to inadvertent data loss.

 1$config['app']['metadata']['indexing']['web']['max_files'] = 50;

Have FileRun index 50 media files in a single HTTP request. The default is 10.

 1$config['app']['metadata']['disable_extraction'] = true;

Disable the metadata extraction (media indexing) on file upload.

 1$config['system']['http']['proxy'] = 'http://localhost:3128';

Make FileRun use a proxy for downloading software updates.

 1$config['app']['media']['documents']['library_root'] = '/Documents';
 2$config['app']['media']['photos']['library_root'] = '/Photos';
 3$config['app']['media']['videos']['library_root'] = '/Videos';
 4$config['app']['media']['audio']['library_root'] = '/Audio';

Set the relative subfolder path for the various media library roots.

Misc options

 1$config['app']['metadata']['search']['exclude_system_filetypes'] = true;

Hides the list of system default metadata file types (Audio, Documents, Photos, Videos) in the metadata file type search.

 1$config['app']['metadata']['search']['exclude_system_fields'] = true;

Hides the list of system default metadata fields (the ones that belong to the "Audio", "Documents", "Photos", "Videos" file types) in the metadata file search.

 1$config['system']['webdav']['skip_device_id_for_etag'] = true;

Use this when the storage device ID might change. This change happens when Docker volumes are remounted. So if the desktop app wants to re-sync files every time your Docker container restarts, use this option.