FileCloud

Docker Install

kdev :: /opt » sudo mkdir filecloud-dev && sudo chown -R void:void filecloud-dev
kdev :: /opt » cd filecloud-dev 
kdev :: /opt/filecloud-dev » mkdir fcdata dbdata solrdata
kdev :: /opt/filecloud-dev » docker pull filecloud/fileclouddocker
kdev :: /opt/filecloud-dev » sudo docker run --privileged -d -p 443:443 -p 80:80 -v fcdata:/opt/fileclouddata -v dbdata:/var/lib/mongodb -v solrdata:/opt/solrfcdata/var/solr -v htmldata:/var/www/html --name filecloud-dev filecloud/fileclouddocker:latest /lib/systemd/system
  • Admin URL: http://localhost/ui/admin/index.html OR /admin2/index.html

  • Default Creds: admin:password

  • Default Creds AWS: admin:<instant-id>

  • Default API Key: apipassword

  • SMTP Host: smtpcorp.com:2525

  • Default SMTP Creds: fcdemo242:1iuh0HiJKWjuE

  • AWS Install Check: https://<aws-public-dns>/install

Make sure to lockdown /install as it shows basic and extended installation information, such as running user, PHP version etc.

  • 30-day trial license file downloadable from: https://portal.getfilecloud.com/ui/user/index.html#/login


App Settings

Config file: /var/www/html/config/cloudconfig.php

Initialize Storage

Local Storage: Settings > Storage > Storage Path: /opt/fileclouddata

AWS Storage:

Settings > Storage ..

  • S3 Key: YOUR-S3-KEY

  • S3 Secret: YOUR-S3-SECRET

  • S3 Bucket Name: YOUR-BUCKET-NAME

  • S3 Encryption > Manage > Enable encryption > OK

User Authentication

Users > Add User

Option for both local- and Active Directory authentication.

Minimum password length is set in cloudconfig.php (define("TONIDO_MIN_PASSWORD_STRENGTH", 14);) or through the web ui Settings > Misc > Password > Minimum password length.

Local users are stored in local mongodb database.

Server URL

Settings > Sever > Service URL: http://localhost

Set TONIDOCLOUD_SECURE_COOKIE to 1.


Features

FileCloud Drive

FlieCloud Drive allows the end users to mount a network share on their computer, files put in this share will be hosted on the FileCloud server and is easily sharable through their Share link feature.

A window is opened automatically allowing the user to set expiry date and time, maximum number of downloads, password protection and more.

Note: In FileCloud version 23.241 or later, the Default Share Type is Private Share. Prior to FileCloud 23.241, the Default Share Type was Public Share.

Meaning in version 23.241 or later users are only allowed to share files with other, authenticated users.

To allow Public Shares an administrator must either change the Global Default Policy (Settings > Policies > Edit Policy > Share Mode: Allow All Shares), or create a new custom policy per user/group/team/share basis.

After changing the Policy users are now able to share folders and/or files through a password protected download link as seen in the images above.

An administrator can also change the global share setting to Public through Settings > Misc > Share > Default share type > Public Share.

If Send Email Notifications is enabled the user will get a email when the resource is downloaded. If the option is not enabled the user can see recent activity in the Activity panel on the right side when browsing the share.


Security

Disallowed file extensions

Settings > Misc > General

Default disallowed extensions: php|php5|phar|phtml|php7|htaccess

Extract uploaded files

From the configuration we set the local storage path to /opt/fileclouddata. Browsing the share we find all uploaded files in the new .dat file format.

By default all files are stored unencrypted and can easily be recovered by simply copying them.

With a server containing thousands of files this is cumbersome, instead we can target sensitive files through the database.

In-browser file preview

FileCloud supports in-browser file previews using QuickJS Preview and/or LibreOffice. This has resulted in vulnerabilities in the past, for example CVE-2025-26127 affecting FileCloud < v23.241.2 where authenticated users could hijack sessions through stored XSS.

With this in mind it is interesting that the default disallowed extensions cover php and php5, but not phpn. Will FileCloud render a phpinfo() file with the extension php3?

Last updated

Was this helpful?