Flarum is minimalistic, but it's also highly extensible. In fact, most of the features that ship with Flarum are actually extensions!
This approach makes Flarum extremely customizable: You can disable any features you don't need, and install other extensions to make your forum perfect for your community.
For more information on Flarum's philosophy on what features we include in core, or if you're looking to make your own extension, please see our extension documentation. This article will focus on managing extensions from a forum admin's perspective.
Flarum has a wide ecosystem of extensions, most of which are open source and free. To find new and awesome extensions, visit the Extensions tag on Flarum's community forums. The unofficial Extiverse extension database is also a great resource.
Just like Flarum, extensions are installed through Composer, using SSH. To install a typical extension:
cdto your Flarum directory. This directory should contain
flarumfiles and a
storagedirectory (among others). You can check directory contents via
composer require COMPOSER_PACKAGE_NAME:*. This should be provided by the extension's documentation.
Follow the instructions provided by extension developers. If you're using
* as the version string for extensions (as is recommended), running the commands listed in the Flarum upgrade guide should update all your extensions.
Similarly to installation, to remove an extension:
- If you want to remove all database tables created by the extension, click the "Uninstall" button in the admin dashboard. See below for more information.
cdto your Flarum directory.
composer remove COMPOSER_PACKAGE_NAME. This should be provided by the extension's documentation.
The extensions page of the admin dashboard provides a convenient way to manage extensions when they are installed. You can:
- Enable or disable an extension
- Access extension settings (although some extensions will use a tab in the main sidebar for settings)
- Revert an extension's migrations to remove any database modifications it made (this can be done with the Uninstall button). This will remove ALL data associated with the extension, and is irreversible. It should only be done when you're removing an extension, and don't plan to install it again. It is also entirely optional.