Expand FreeNAS with plugins
FreeNAS is a powerful open source implementation of a network-attached storage (NAS) server – file-level computer data storage connected to your network. FreeNAS is easy to manage, and because it's free it can serve files for small- to mid-sized companies without straining their software budgets or act as a media and storage server for a home network – a great way to make use of any aging Windows XP boxes lying around.
FreeNAS supports a powerful plugin architecture that lets you expand its default feature set to better meet your demands. You'll find plugins for Firefly media server, CouchPotato movie server, and more. The plugins are in 32-bit or 64-bit PBI (push button installer) files on the FreeNAS project's website. PBI provides a native FreeNAS graphical installation wrapper for software ported to FreeBSD, allowing you to automate installation.
Here's a taste of some of the most interesting available plugins:
You can use a plugin to back up your FreeNAS data to CrashPlan cloud-based backup, if you have an account with the service. While FreeNAS software stores your data safely and securely, computer hardware is prone to crashes, so both organizations and individuals need a solid backup and disaster recovery plan.
ownCloud is another cloud connector, but one that offers greater flexibility. If you have an in-house ownCloud server you can take advantage of this plugin to automatically back up your FreeNAS server.
The Bacula plugin allows you to connect your FreeNAS servers to this powerful open source backup tool. This plugin includes file daemons (backup clients), directors (backup server), and storage daemons (back end). Bacula itself, however, is a bit of a challenge to get up and running.
The Maraschino project aims at creating an easy-to-use interface for managing a home theatre PC (HTPC). With this tool you can see recently added files, browse your media library, check disk space, and control multiple media servers.
Plex Media Server
You can turn your FreeNAS into a powerful multimedia server with the plugin for Plex Media Server. You can use Plex not only to view your favorite sci-fi films, instructional videos, and TED talks, but you can also create a training resource for new hires.
How can you make use of these plugins? All you need is a running FreeNAS server and access to the FreeNAS administrator account.
First, determine whether you're running FreeNAS on 64-bit or 32-bit hardware. More plugins are available for the former than the latter, so if you have a choice, install FreeNAS on 64-bit hardware.
In order to install plugins, you must already have your FreeNAS set up with volumes.
The easiest way to install plugins is to select them from a list on the software's Plugins tab. Log in to the FreeNAS web administration portal as the admin (or root) user and go to the Plugins tab. Select a plugin to install (Figure 1), click the Install button, and let the installation complete:
Though it's simple, the process of installing a plugin can be time-consuming. FreeNAS first creates a jail – that is, a virtual environment with its own hostname and IP address – so it can install the plugin, in the form of a PBI file, onto the FreeBSD system that underlies FreeNAS. When the process completes successfully you should see the new plugin listed in the left navigation tree (Figure 2):
After you install a plugin you need to enable it. Click on the Installed tab and then click the slider for the plugin to the On position (Figure 3):
You can then configure the plugin by clicking on its entry in the left navigation tree. A popup window appears (Figure 4) to allow you to set up the plugin to meet your needs:
Alternatively, you can install plugins by uploading a PBI file to FreeNAS. Once you've downloaded the plugin you want from the FreeNAS site, click on the Plugins tab, then click on the Upload button. Choose a file and allow the installation to complete.
When FreeNAS creates a new jail for a plugin, that jail is assigned an IP address. If you find that your plugins continually fail either to install or to work properly, the most likely cause is that the jail's IP address conflicts with the address of something else on your network. To avoid this, assign an IP address range to your jails that is outside the DHCP scope of your network. You can do this as the FreeNAS root user from the Jails tab (Figure 5):
If you still have issues, make sure the gateway address and DNS are correctly configured within FreeNAS. Click on the Network button (in the top navigation bar) and then click Global Configuration (Figure 6). Enter the correct hostname, domain, gateway, and nameserver, click Save, then attempt to work with plugins again.
As you can see, FreeNAS's powerful plugin system gives you the ability to use the software for more than just file storage and sharing.