Who owns your data?

In the previous post in this series we talked about software packages which you install on your laptop or desktop computer. Obtaining, installing, and using these are pretty straightforward. While their interfaces might not be exactly like the baron-provided closed source alternatives with which you may be more familiar, becoming proficient in using them is just a video tutorial or two away. What about all those online and ‘cloud’ services which can be so useful? Are we doomed to remain in the thrall of the global megacorps when it comes to storing and sharing our files, communicating with each other, managing projects, documenting processes, and getting our website online? Do we just have to accept it when they decide to cease providing a service we depend upon, lose our data, or sell it to a random third party?

Thankfully the answer is no, we can use free open source software for all these needs too. The learning curve might be a little steeper here because it means you need to set up and maintain your own servers, but don’t let that put you off. If you are running your own business, then you have already had to learn a whole bunch of new skills from scratch, and you have done so successfully or you wouldn’t still be in business. If you want, you can become your own IT supplier too. It might be easier than you imagine. You will save money, but more importantly you will have sovereignty: your business will no longer at the mercy of the global megacorps. You will have the freedom to fulfil your responsibilities.

File storage

If you have files which only you need to access, then it’s fine to simply store them on your computer. If you want other people in your business to also be able to access those files then you need a way of making that possible. ‘Cloud’ type solutions have become increasingly popular for this, to the point that services like Dropbox, Google drive, and Microsoft Onedrive may well be familiar to you. Some of these options involve storing the files solely on a server somewhere on the internet and so rely on having internet connectivity, and others involve synchronising files stored locally on your computer with a copy also stored on a server on the internet. The key advantage of the latter option is that you can still work on a file even when you are offline.

Truenas logo

TrueNAS

Alternatively, you can choose a DIY solution, which is what we have opted for. We have a server which we synchronise the files on our laptops to, so we can edit them on our local machines even if we don’t have connectivity. The server runs free open source software specially designed for file storage called TrueNAS.

Resilient

TrueNAS offers a number of useful features that make it a great choice for your file server. Most computers have a single storage device where all the files live, either a hard drive (a spinning magnetic disk), or a solid state device (a load of silicon chips). The problem with having a single device is what happens when that device fails? You lose all your files, something which you probably want to avoid (though you have got backups, right?). TrueNAS allows you to set it up with multiple storage devices, so that when you save a file it spreads the information across all the storage devices in a cunning way. That means that if one, or even two of the individual storage devices fail, it can still reconstruct your precious file from the data on the remaining storage devices. Good news!

Open ZFS logo

ZFS Magic

The software which does this wizardry is called ZFS, which provides a layer of abstraction between the data and the hardware it is stored on. This itself sounds pretty abstract, but has a bunch of wonderful practical consequences. It means you can gradually replace all the physical components of the server, and the data will safely persist through that, living on through the death of the hardware like some kind of immortal soul that can continue through a series of bodies. Or maybe a bit more like Frankenstein. Either way, it is pretty useful.

ZFS is what they call a ‘copy-on-write’ file system, which means that when you save a new version of a file it does not overwrite the old version. Instead it writes the new data in a different place alongside the old version. This means you can make ‘snapshots’ of the whole collection of data at a given point in time, and you can revert back to these if you want. It’s like having a time machine. Need something you deleted a week ago? Want to restore the version of that document from yesterday before you changed it? Now you can. The bonus with this is immunity from one of the particularly nasty sorts of malware out there: ransomware. That’s a kind of virus which encrypts all your files and then extorts money from you to unlock it. With ZFS you just restore the snapshot from before it happened and carry on regardless. Nice try internet bad guys!

Hardware

You do need to take care what hardware you buy to run TrueNAS on, in order to ensure your data is safe. You will want to use a particular type of memory called ECC (Error Checking and Correcting) which does what the name suggests, and you will also want to buy an uninterruptable power supply (basically a big battery) to avoid losing data if there is a power cut. Don’t be intimidated by this: there’s a healthy community of fellow users who have written some useful guides on the subject of hardware, so you can readily gain the knowledge you need.

TrueNAS is another example of a team of people making a ‘patchwork quilt’ of free open source software, though it’s a particularly tidy example where you might not even be able to see the stitches. It’s all controlled through a user friendly web interface, and there’s a app store which makes it easy to install various useful extra pieces of software. One which we get a lot of benefit from is called Syncthing.

Syncthing logo

Syncthing

Syncthing does what the name suggests: synchronises files between multiple places. Of course it’s another example of the wonders of free open source software. We really like Syncthing because it is a joy to use – you simply install it on all the devices you want to synchronise, tell the devices about each others unique ID, and choose which folders to sync. It’s a set-and-forget tool which just quietly and reliably does what it is supposed to. We use it to synchronise the business files between our laptops and our TrueNAS server.

You can simply work on your files as you normally would because they are saved on the laptop, then when you next have a network connection any changes are synchronised between all the other machines which you configured to share that folder. It works regardless of any firewalls between the computers that are synchronised, and it’s ‘peer-to-peer’, which means your data doesn’t have to go through anyone else’s servers. Of course, all the data sent between the machines that share the folder is encrypted, so no one else can access it on its journey across the internet. The combination of Syncthing and TrueNAS effectively gives us a DIY Dropbox, without the need to make our business dependent upon the infrastructure and the goodwill of Dropbox Inc.

Springboard

We offer these descriptions of how we use free open source software to run Float in the Forest as a springboard for you to explore how you might benefit from using it too.  By letting you know what we use perhaps you might gain awarenss of software you had not heard about, and so your freedom of choice can increase.  Check out the links to learn more and discover how to use these tools yourself.

Sign up to get the inside scoop!

Receive wonderful floatation-related communications and special offers.

You have Successfully Subscribed!