So I finished off part 1 with the following list of things I use FreeNAS for…
- Plex Media Server (a couple of jails)
- Unbound (DNS)
- Webserver (FEMP)
- Nginx Proxy
- VirtualBox (4 jails running various Windows, Linux and FreeBSD OSs)
Here’s a little more about how I use them!
You’ll find a post somewhere all about my love of Plex, so I won’t repeat that again here. I have a couple of jails running Plex, though – one running the latest public release (today, that’s 1.3.3) that I use for viewing media across various devices and sharing some stuff with family and friends, and another running either the Plexpass preview version or currently the DVR beta version.
I have PlexPy and PlexEmail running in their own jails, and whilst these could be running in one of the Plex jails, I like to keep things separate (making updates and backup easier) and the jails themselves take very little system resources. PlexPy is a very good monitoring system that provides a web interface for seeing what’s been added and watched on Plex. It could very easily integrate into Plex as it looks superb and the interface is very similar. PlexEmail is a very simple background e-mail system that sends a weekly report to my friends and family to tell them what’s been added.
I have a jail running emby, which is another media management app, but this was really just to contrast and compare. Whilst emby may be good for some things, the interface is way behind Plex and external sharing is more trouble than it’s worth. I update it from time to time, to see what’s changed, but more often than not the jail is switched off.
There’s also a post all about ownCloud, but this basically lets me sync files across multiple devices, including mobiles. I’d be quite lost without this now, as it means I have access to my files from anywhere, can update and save, and know they’ll be replicated on the other devices within minutes. I also use ownCloud for sharing files with others and providing access to images in other sites. I’m usually running the version behind the latest production one (today, that’s 9.1.1.), although ownCloud has been pretty rock solid for several releases and for my use case I’ve had no issues at all with releases from about 8.0 onward.
During 2016, the founder of ownCloud left the building! Within weeks Nextcloud was born and was basically a rebranded fork of ownCloud 9. It’s hard to know which is the right horse to back here, but at launch both were almost identical, so it made sense (at least to me) to configure a version of Nextcloud and create a synced version of the database. This is another jail that is usually switched off, and only switched on periodically to update. I’m happy with ownCloud so will continue to support that, but it’s nice having a working fall-back if required.
Setting up a jail for openVPN was one of the most painful things I’ve done with FreeNAS, but once I got it working it’s been very stable and incredibly useful allowing me to connect back into my home network securely from anywhere. It’s great when I’m away, or working at a client site and need to do something on my network, like spinning up a VM to demonstrate something.
Unbound is a DNS which I use for caching addresses I visit frequently. It speeds things up ever so slightly, by resolving domain names locally for these sites, whilst still finding an IP using another DNS where it’s not already cached. I’ve been meaning to configure it more so I can access internal devices using hostnames rather than IP addresses, but as I know all the IP addresses, it’s not been a priority. I’ll get around to it eventually.
Calibre is all you would ever need for managing and cataloguing eBooks. I actually run a version on my iMac for cataloguing purposes, but use the version on FreeNAS as an external service so I can access my eBooks from anywhere on the web, and also transferring them easily to other devices, like my Kindle Voyager. If you have an eBook library, chances are you’re already familiar with Calibre!
As mentioned previously, the web server this WordPress blog is running from is in a FreeNAS jail. It’s running a FEMP stack (FreeBSD – Nginx – MariaDB – PHP). You might be wondering about the ‘E’, but Nginx is pronounced ‘EngineX’! I use this for lots of other things, so it’s a bit of a web playground, but again works wonderfully for my needs.
As discussed in my post about SSL, I didn’t choose wisely when buying a certificate from Comodo so ended up using a Nginx Proxy to direct traffic between different SSL enabled services on my network. When it comes to renewing this, I’ll do it properly, so probably won’t need a proxy server, but for now it lets me direct different requests to different services (e.g. ownCloud, WordPress, Calibre, etc.) running in different jails on my FreeNAS box.
VirtualBox (VB) could have a whole post to itself, but I’ll cover the basics here. FreeNAS allows the creation of a VB jail very easily, or at least it did up to 9.3.1. Things have changed a little in 9.10, but as I’m still on 9.3.1 they work perfectly for me. Because I need to expose some of the services running in these VB jails, and I’ve only been able to create a single bridged adapter within each jail, I have several created. These all share the same dataset on FreeNAS, so I can use them for any of the Virtual Machines (VM) but typically I use the following:
VM1 – This is primarily used for Windows 10, that is running Windows IIS, Microsoft SQL 2008, and Glassfish 2.1.3 which runs a java application I helped develop for analysing procurement spend across organisations (CPAS). It’s used by a couple of Local Authorities in England, and use in this VM for demonstrating to other potential clients.
VM2 – I’ve about 10 Linux VMs setup and configured for playing with different things, but the main ones which I would use externally (Zimbra and Limesurvey) are running CentOS 6.8 or 7. I’ve got various other distros available for playing with, but I think I’ve settled on CentOS for server stuff and elementaryOS for running a Linux desktop.
VM3 – I use this mainly for playing with and testing different versions of FreeBSD and FreeNAS. I current have a couple of FreeBSD 10.x VMs with different interfaces (Gnome and Xfce), a PC-BSD VM, PFSense VM (which I’ve done nothing with since installing), and several FreeNAS for testing including 9.3, 9.10 and the beta of 10. I might eventually get around to testing PC-BSD on my MBA, but I’m sure that will be a completely separate series of blogs!
VM4 – this one runs 24×7 and is only used for 1 thing – CrashPlan. It’s running a CentOS 6.8 VM with CrashPlan 4.7 (I think, but as it automatically updates, I’m not entirely sure). This is configured to backup several FreeNAS datasets to CrashPlan so I have an off-site backup should the very worst happen (e.g. fire or theft). I used to have CrashPlan running in a jail without the Linux VM, but every time CrashPlan updated something broke and it looks lots of fiddling to fix or recreate. Since configuring this way, I just leave it alone and it e-mails me every week to tell me all is fine. I have about 3.4TB of data in ‘the cloud’ in case of emergencies, including all my documents, photos, music, books, jail configurations and VMs.
I actually have 2 FreeNAS machines running locally, the main one (freenas1) providing about 24TB of usable storage and running all the jails, with the second (freenas2) providing about 18TB of usable storage and acting simply as a backup. One of the best features of FreeNAS is the ability to snapshot data and replicate this to another system at a block level. It makes nightly backups very simple, and also allows things to be rolled back if anything ever goes wrong. I always snapshot a jail or dataset before updating anything so on the off chance something breaks I can just roll back to the previous working snapshot. This has proved invaluable when learning about FreeNAS but is still a nice safety net to have before any major changes.
You might be wondering why I’m not running the latest release, and for quite some time after starting to use FreeNAS I was. Updates tended to be very reliable, and when there were problems they were fixed quickly and generally didn’t impact on the stuff I was using. The first 9.3.1 release changed that for me, as it broke replication, so I rolled back to 9.3 and stayed there for about 7 months. It wasn’t until 9.10 was released that I eventually updated to the final version of 9.3.1 which by then worked perfectly. This was last updated in May 2016, so I really need to think about updating to 9.10, but there have been many reported issues with that, as it moves the jails from FreeBSD 9 to 10, and a more recent update (9.10-2) broke VirtualBox too. With FreeNAS 10 in beta, I might just wait for that to be released and stabilise as that’s a whole new ball game and might be the right time to build my next FreeNAS box.
Anyway, another long post which hopefully provides a little more information about my FreeNAS use. If anyone ever finds this and wants to know a little more, you only have to ask 😉