Skip to content

Install

Requirements

  • Drupal core ^10.5 || ^11, PHP 8.2 or later.
  • A private file system. Shares hold only private files, because a public file's URL already works for anyone.
  • Outgoing email. Sign-in codes and invitations are sent through Drupal's mail system, so any mail module that replaces it, such as Symfony Mailer, works unchanged.

Set up the private file system

In settings.php, point the private file system at a directory outside the web root that the web server can write to:

$settings['file_private_path'] = '../private';

Then rebuild caches. Configuration › Media › File system shows the private path once it is set.

Install the module

composer require drupal/file_share
drush en file_share

To let AI agents and other Tool API clients manage shares, also enable the submodule:

drush en file_share_tool

Grant permissions

At People › Permissions, give staff who share files Create file shares, and View file share activity if they should see who signed in and downloaded. Administer file shares is for those who manage every share and the settings. See Settings and permissions.

Recipients need no permission and no account.

Share your first files

  1. Go to Content › File shares and choose Share files.
  2. Give the share a title, add a message if you like, and upload files or pick files and media items already on the site.
  3. Save. On the Recipients tab, enter email addresses or *@domain patterns, or choose accounts, and choose Add.

Each address and account gets an invitation by email. See Sharing files for the rest.