I wrote a blog quite similar to this one less than 6 months ago, but given how much has changed I though another FreeNAS blog might be quite interesting (at least for me!) …

The changes started earlier this year when I started playing around with iohyve/bhyve as a replacement for VirtualBox.  I managed to create a single ubuntu 16.4 LTS VM and configure CrashPlan and OnlyOffice Document Server which were the main things I was using VirtualBox for in FreeNAS 9.10.1-U4.   I had many other VMs created, but they weren’t really being used for anything serious, and most were only fired up from time to time.

Once I was happy that I could use bhyve to replace VirtualBox, the next step was to upgrade FreeNAS.  I did this about a month ago, and published quite a few blogs on my experience here, here and here!  The upgrade to 11.1-U4 went remarkably well, and all my jails and VM continued to work as before, but I knew it was time to rebuild the jails using iocage, the new jail management tool, which allows the version of FreeBSD it is created with to be upgraded.

So quite a major change to the virtualisation platform and to the jail management, so what about the services?

WordPress

Well, this one hasn’t really changed!  I’d rebuilt this when I upgraded to 9.10.1, and importantly I’d also moved the database to a separate dataset outside of the jail.  This made recreating it in iocage much easier, and whilst there were a few issues with plugins, it was relatively simple to troubleshoot.  I took the opportunity to update PHP (to v7.1 – not sure how well 7.2 is playing with WordPress), MYSQL and NGINX, but otherwise it’s pretty much as it was before, albeit now on FreeBSD 11.1 in a jail that can be upgraded to FreeBSD 11.2!  Hopefully, I won’t need to rebuild another jail again…

emby

A bit like WordPress really, in that it was rebuilt the last time I upgraded with a separate dataset for the library and metadata. I blogged about recreating it here and made a fairly detailed “How To”guide on the FreeNAS Forum.

ownCloud Nextcloud

I’d been playing around with Nextcloud in a Docker container for quite a few months, and had decided that when I needed to rebuild my ownCloud jail it would be using Nextcloud.  They are still very similar, and I rebuilt it using one of my favourite “How To” guides for ownCloud, simply changing the ownCloud references but also using PHP 7.2.  I even managed to update Nextcloud from 13.0.2 to 13.0.4 using the Web Updater, something that had never worked for me using ownCloud.

CrashPlan

I mentioned this at the start, as I wouldn’t have updated FreeNAS had I not been able to virtualise CrashPlan using iohyve/bhyve.  I can’t say I’m a big fan of the new interface that was introduced earlier in 2018, and I’ve had a few issues backing up large log files and database files with lots of small but frequent changes, but it generally works well and it’s a great piece of mind knowing all my important data (i.e. family pictures, work files, music, etc.) is all backed up both locally and offsite.

SSL Reverse Proxy

This was super easy to rebuild as it’s really only NGINX and Certbot with some configuration files, which I copied across from the old Warden jail.  Everything worked first time, including all the certificate renewals that have been due to date.  Having all external access to my network coming through a single jail along with all the SSL authentication makes everything so much easier to manage.  I can’t believe it took me so many attempts at various solutions to get this right, but now it saves me so much time and effort.

Home Automation

When I last blogged about this I’d recently deleted the FreeNAS jails I’d created to play around with Home Automation.  Since then, I’ve been playing around with Home Assistant more, but in a Docker container.  Even though I could run it as a FreeNAS jail, I’ve still got a few things running using Docker so have kept the Home Automation stuff there too.  I’ve got Home Assistant configured to manage all my Philips lights and TP-Link switches, along with control of most of my network media devices (like iTunes, emby, Airplay speakers).  Its main use is to allow me to control all the lights and switches using my Harmony remote, which was why I started playing with it in the first place.  Pretty sure there’s lots more I could be doing with it, so watch this space the next time I do one of these.

Virtual Machines

When I was running FreeNAS 9.10.1-U4 and VirtualBox, I had far more VMs than anyone could really need.  I had a Windows 7 VM that I used for hosting a piece of software I’d help develop about 10years ago, that I still demonstrate to clients from time to time.  I had several Linux distributions, that ran in the background for things like CrashPlan and OnlyOffice Document Server, and several others I used for playing around with.  I also had several FreeBSD based VMs for playing and testing future versions of FreeNAS.

I now have 2!  One Ubuntu 16.4 LTS running CrashPlan, OnlyOffice and Docker and one running FreeNAS 11.2.  The Ubuntu VM is running 24×7 where the FreeNAS one is fired up sporadically to test how things are progressing.  It would be nice to replicate the Windows one at some point, but it’s been so long since I used it I haven’t really missed it.  I’ve also been playing around with Glassfish, Java and MYSQL in Docker to try and get the application running without running Windows.

VPN

This is actually the only thing that hasn’t changed, and it’s still running in a Warden jail.  I did try to recreate it using iocage, but through a combination of my networking knowledge and some issues with networking in iocage, I haven’t manage to migrate this across. It still works perfectly well, and I’d recreated the jail at 9.10.1 so I’m expecting it to continue working until at least the end of the year. 

DNS

Probably the easiest, or at least quickest, jail to migrate to iocage.  It’s only a couple of package installs, and then a configuration file to edit.

Docker

I wasn’t really using this 6 months ago, and if I wasn’t using FreeNAS and jails, I would be using Docker for so much more.  It’s a brilliant tool for getting software up and running quickly, and at the minute I’m playing with a few things.  I’ve already mentioned the Home Automation stuff, but I’ve also got an OnlyOffice Community Server running, a LimeSurvey survey, another WordPress instance and various other containers (e.g. Redis, NGINX, MYSQL, etc.)  It’s a great platform for testing stuff I might end up running in a FreeNAS jail, or for things not available on FreeBSD.  I have it all running using Portainer and a Docker Compose file so everything starts up when the Ubuntu VM starts up.  I’m sure I’ll be playing with this more as the year progresses.

So that’s it. Quite a long blog, but then quite a lot has changed in a relatively short period of time. My FreeNAS use tended to be like that, and in the last 2 years, I’ve probably only used 2-3 versions.  I suspect now I’ve migrated my VMs onto bhyve and jails to iocage that might change, although I’ll still be a little too risk averse to be installing updates within the first few dot releases.  I suspect the next one might be 11.2-U2, although I’ll be watching the forum with interest before any updates.