moxibox: the DIY personal cloud platform
The moxibox is the ultimate home file & media server that you build yourself from off-the-shelf computer components
moxibox: the DIY personal cloud platform
The moxibox is the ultimate home file & media server that you build yourself from off-the-shelf computer components
It's a book. It's a DIY personal cloud. It's a community. It's all your stuff in one really reliable place.
It's a moxibox
A moxibox™ is a personal cloud platform you build yourself, following step-by-step instructions from an e-book. It sits in your home, probably right next to your router. It stores all of your digital stuff, from all of your devices. It employs the most modern and rigorous technologies to make it rock-solid, robust, and reliable. Everything stored on a moxibox is very, very safe. It makes all of your files available to all of your smart devices, anywhere, and it streams music and video to devices like your TV or tablet.
It puts all of your vital digital stuff in one place, entirely under your control.
Build your own personal cloud, step by easy step
"Personal cloud" is probably something that everyone defines differently, so here is my definition.
"The cloud" is the Internet. When we say we store or share files "in the cloud," we usually mean a hosted service such as Dropbox® or Google Drive®: we store our files on their servers.
So a "personal cloud" is a system that sits in your home, storing your files and allowing you to access them from multiple devices, inside and outside your home. That's what the moxibox aims to give you: a reliable personal cloud that you control.
The person behind the box
I am Lee Allen and I live in Buffalo, NY. For 30 years I have designed inexpensive systems to run in factories where they have to be simple, robust, and self-managing. And I support those systems.
Personally, I have experienced the agonizing loss of important data. I have lost documents and programs from my Windows desktop systems, and I have lost pictures and contacts and music from my phones. As new systems and phones are acquired and old systems linger, I find myself wanting to keep their photos, files, and other material stable and secure.
In the business world, I have seen storage technologies evolve to radically improve capacity and reliability, and I have implemented many of those technologies in the systems I design and use in my own workplace.
But what about our personal stuff? Our home computers, tablets, music players, digital photo frames, smartphones, and video devices? We have vital digital "stuff" scattered all over the place with no way of consolidating or controlling it.
So what I've been doing with my free time is building the moxibox. It solves a need I think many of us have now, even if we don't know it: a central place in our own home for our digital life. The moxibox holds onto your computer files, family photos, downloaded music, movies you want to watch at any time, and rock-solid backups of all your computers. It gives you the ability to stream, copy, and share that information with all of your family's devices, anywhere you go.
And it employs modern technologies like RAID and ZFS to keep it very safe.
With your help, I can finish and distribute an ebook guide to making a moxibox. The aim is a comprehensive but readable guide that will give anyone with a curious mind the ability to build an affordable and super-reliable moxibox for their own homes.
I'm seeking to connect with potential moxibox builders, modifiers, and DIY veterans and newcomers of all kinds by utilizing Kickstarter's unique reach and community. That's because it's not simply a book that will be for sale. With support and early adoption, the moxibox can be a community, one that helps people extend, troubleshoot, and improve this smart little home server. The ebook will explain as much as possible; the community can help with what-ifs, adventurous upgrades, new ideas, and much more.
What the moxibox can do
A moxibox can do some great things. Plug it into your router at home, and it can:
- Store your computer documents so you can access them from any system
- Archive your photos, videos, and music
- Back up and make accessible all the files from your smartphones or tablets, in your home or out
- Stream videos and music to your TV, your laptop, your iPad®, or almost any modern ‘smart’ device in your home, no matter what format you stored them in .
- Take full backups from your computers and mobile devices.
- Keep everything secure with a solid, redundant storage and file system.
- Run all day, every day, on very little power.
There are devices that do the fun music and video stuff. There are plenty of backup devices out there. But nothing quite serves as a central, secure, put-it-all-here hub like the moxibox.
That's why I'm writing an instructional book and a setup scheme to help more people make that kind of thing, which I call the moxibox.
I'm not manufacturing hundreds of moxiboxes with contract manufacturing. I'm not selling a device that will be outdated by the time you've clicked "Pledge.". I'm creating an ebook guide and a community site that will allow people to buy their own hardware and turn it into a moxibox using (mostly) free, open-source, and thoroughly tested software.
If you want to get a handle on all the data, memories, and other things you're using and creating across all your devices, and know they're private and secure, I hope you'll help me get a moxibox movement started. You can help by pledging your support.
Doesn’t some other product or service do this?
Many people are using cloud services for storing and sharing files. Yes, you can store your vital stuff in the cloud. But if you do that, you have to accept some often overlooked but harsh realities.
First, the cloud service provider may be mining your data for their own purposes or sharing your data with others; this is especially likely with free or low-cost services. Second, the provider may or may not exercise appropriate backup procedures: there have been instances of cloud service providers losing massive amounts of customer data. Third, if you discontinue the service, or if the provider goes out of business, your data may be lost, or left to you to grab all at once and store yourself. And finally: any information that goes across the internet, even that which has been reported as encrypted, has been shown to be subject to snooping and longterm storage by government agencies.
NAS (Network Attached Storage) systems do some of what moxibox does. They store files, and allow the files to be accessed by multiple computers. Most of them support RAID for safer storage. But to my knowledge none of them support ZFS, so they don’t have features like ZFS snapshots, multi-level checksums, and filesystem scrubbing to catch data degradation while it’s recoverable.
NAS setups cannot (generally) perform automatic backups to another hard disk. I consider that an essential feature in any wide-view system.
Many NAS systems support DLNA so they can stream video. But they don’t support Plex, the most robust, convenient, and exciting media streaming software around. So you or your system have to first convert the video to the proper format for the specific device you want to view it on. That’s not a simple thing to do: it usually has to be done on a separate, powerful system, because the NAS doesn’t have the horsepower for the job, and it takes a long time—often several hours for a full length movie.
So this box is just a really secure data fortress?
Oh, not at all. Here’s the really cool part.
Because the moxibox is a full-on Linux system with a real processor, it opens up many other possibilities:
- You can install a DVD drive in the moxibox and rip movies straight to the moxibox filesystem.
- You can run applications like Sick Beard to get TV shows from Usenet, or use a program like Transmission to download media from torrents.
- I installed the Tonido Desktop app on my moxibox, which allows me to share all of my files with all of my devices so I can access those documents at any time, from any place.
- You can install any hardware supported by your motherboard and Linux, which covers a lot of ground. TV tuners, WiFi and Bluetooth adapters, USB disk and flash drives - an endless array of options.
How much does it cost? Can I really build a moxibox myself?
I have posted the introductory chapter of the moxibox ebook right here - it addresses these questions. In ultra-brief summary, however: Surprisingly less than the devices that access the moxibox, and yes, you probably can pull this off.
How important is the community behind this project?
It takes a village to raise a moxibox! Right now the moxibox is only as good as my vision and skills. But the platform itself has almost unlimited potential. I know it can do much, much more. It needs an infusion of ideas, and people with the skills to implement them.
Here are just a few of the near-future additions and possibilities I can imagine:
Music: Stream my entire music collection wherever I want it, even to my Bluetooth speaker. Let me remote control the music player with my smartphone or iPad. When I put a CD in the drive, rip it and add it to my collection and email me when it’s ready. If I find a new song I want, I will send a text message or an email and then moxi will buy the track from Amazon or iTunes and add it to my collection.
TV shows: Automatically capture the latest episodes of the TV shows I watch as they become available, either from the internet or pull them off the air using a TV tuner device.
Movies: When I put a DVD in the drive, rip it automatically and add it to my collection. With subtitles! (I am hearing impaired).
Smartphones: Android® phones can sync all of their content to Google, and iPhones / iPods® / iPads can sync their content with an iTunes server. Let’s sync everything to our own, in-home moxibox!
Cloud backup: For those who want it, automatically backup the contents of the moxibox to cloud storage (encrypted, of course).
I know Linux experts can set up many of these things today, for themselves. But I want regular people to have access to all of this power in a nice, easy-to-use package.
I imagine people will push the hardware in different directions. Some will want more, more, more! -- more disk drives, more memory, a larger chassis. Some will want to make everything as small as possible. It would be really exciting if we could maintain component lists for various system configurations to make it easy for people to build exactly what they want, without any kind of guesswork or unfortunate returns or RMAs.
With an enthusiastic community supporting and enhancing moxibox, there really is no limit to how far it can go.
How will Kickstarter funds help this project? Why not just set up a site and sell the book?
I created the moxibox first for myself, to meet my own needs. I think it’s very useful and empowering, and now I want to share it with others. I want to see a community that supports one another and continuously expands and improves the platform. At some point I want to offer kits or fully assembled and loaded systems for people who don’t have the hardware skills or the time or inclination to build the system themselves.
I have a day job I love, so all of this needs to happen in my spare time. And many of the things that need to be done are outside my skillset. So there is a real need to build a foundation for a community to carry this forward. We need a community web site, with good forum software, file sharing, version control, and a wiki.
Moxibox 1.0 is not quite ready yet: it’s working, and I know it inside and out, but there is no how-to book. I need to build another system to fully document the assembly and installation process. I designed and built the current system using 3.5” disk drives to keep the price down. But some people may want a smaller system. I need to buy the system components to test and document those builds.
I am not using a conventional PC power supply and that leaves a big rectangular hole in the back of the case. It’s kind of ugly, and it means the system is not properly RF shielded. A local sheet metal fabricator will make cover plates for me, but I need to front the setup charges and a production run of several hundred units. I mention this because I want to do as much as possible to make this DIY project look good, or at least decent, even if it gets tucked under a desk or deep into an entertainment center.
I need to create a real company and get a little help from a real lawyer to make sure everything is legal, complying with all of the relevant software licenses and not violating anyone’s IP.
Bottom line: the Kickstarter funds will enable me to create and distribute the e-book, documenting a couple different system builds, and be confident in the support and feedback of a community to advance this project. Of course I am also hoping the Kickstarter campaign will spread the word and help jump-start the needed work and desired community.
How did you get into this project?
(Long, but hopefully illuminating text follows!)
I have been using various versions of Windows on my desktops for decades. For most of that time I stored important files that I couldn’t afford to lose on my computer’s hard disk. I had several scary moments when it looked like I might lose my stuff -- and a couple of times I did. I have always taken semi-regular backups – first to diskettes, then tape drives, and later to an external hard disk.
Then I got a NAS -- a file server -- and moved all of my files there. Not as a backup: I made it my primary storage system. That was a huge improvement because then I knew that no matter what happened to Windows, my files were okay because they were stored independently on a server operating system.
But I was still completely dependent on one device and it didn’t have the reliability features I wanted. My NAS had RAID so it would not lose data if a disk failed. But there are lots of other ways to lose data and RAID by itself was not nearly enough protection.
I keep up with operating systems and filesystems, and I learned about this amazingly reliable filesystem called ZFS. I played around with it a bit and gradually realized it provides a filesystem reliable enough I can finally trust it with all of my stuff.
So I created a server using the SmartOS operating system, with RAID and ZFS. Let’s call it my Super-NAS. That system works great. I am still using that as my work server. It has probably been running for a year.
Next I started thinking about all of my photos, music, and movies. These were scattered all over our house on phones, digital photo frames, iPods, iPads, Android tablets, laptops, etc. Some of that stuff is very important and can’t be replaced.
I transferred it all to my Super-NAS to make it the master repository for everything in my life. One NAS to rule them all! It’s really that reliable. And then I started streaming movies from my Super-NAS to our TV and tablets. We have a Roku® for our TV, and we have an iPad and some Android tablets we often use to watch videos. But I had to transcode each movie to convert it to the right format for the specific device I wanted to watch it on. That was way too much work!
Then I discovered Plex®. Plex is a really cool application for streaming movies. It automatically converts the video to the right format for whatever device you are using, on the fly – while you are watching. It can even stream movies over the internet.
But Plex doesn’t run on SmartOS. Since SmartOS is a virtual machine host, I created a Linux virtual machine and installed Plex in it. That worked! At that point everything had come together and I was really happy with it. My stuff was safe. It was entirely under my control, and I could access it from all of our devices.
When I started thinking about sharing this with others, I realized my solution was overkill for the home. It requires a modest amount of CPU and memory and a full size case, and it uses too much electricity. That’s a big issue: If I am going to contribute to people building these systems and running them 24 hours a day, it’s important they use very little power.
So, back to the drawing board.
I realized I needed an efficient and inexpensive little mini-ITX system with a low power processor. That translates to less processing power. So I needed to use memory and CPU resources efficiently, and that meant I had to avoid virtual machines.
I decided to do it on Linux, which is free, rock solid, and widely supported by an amazing community. I have used and loved Linux for a long time.
And there is a ZFS for Linux! It has recently been developed to the point that it works well and is robust. But because of licensing issues it cannot be included in any of the Linux distributions, so it’s a bit more difficult to install under Linux. And configuring RAID on Linux can also be difficult.
I have been deploying Linux for my day job for about 20 years, and I learned about this cool feature in RedHat and CentOS called kickstart (no relation to Kickstarter). It allows us to automate the installation of the Linux operating system by using a kickstart file. So I developed a kickstart file to install CentOS Linux and set up the RAID configuration. It also installs most of the other software packages I want, like Samba.
And then I wrote a post-install script that does everything else. It installs ZFS, creates the ZFS filesystems, sets up automatic snapshots and backups… everything. Now I have a system that does everything I need it to do. It provides ultra reliable storage using RAID, ZFS, and backup. It streams media and transcodes video on the fly. And it does it all using inexpensive hardware, while consuming very little power.
And because I have scripted most of the installation, someone who has little or no Linux experience can set up a system just like mine, as long as they use similar hardware.
I have since added the ownCloud and Tonido Desktop apps to this system to turn it into a true personal cloud platform. Now I can access my files from outside my home. I can even sync folders so I can access my stuff in places where I don’t have any kind of network connection.
I am thrilled with this solution. I am a lifelong, card-carrying geek, and we are hard to please – it’s hard for me to say “This is perfect: I am going to leave it alone now and just use it”. But that’s how happy I am with this.
Risks and challenges
The risks and challenges are minimal: my moxibox is working; I have successfully rebuilt it using my installation scripts; I have many years experience integrating systems like this. The e-book has not been written, but I have many years experience writing technical documentation.
There is much more to do, including integration and testing with Android and Apple platforms, but I will be looking to the moxibox community to help me with these tasks, post-campaign. And I can ship version 1 of the e-book without these if necessary.
The next big thing that needs to be done is create a website with a good forum, a wiki, and a mechanism for versioning and distributing the ebooks. That requires skills I don't possess (yet). If the Kickstarter campaign brings in enough money I will contract with a professional for this work (stretch goal!). I think this area has the biggest potential to delay reward deliveries, if I have to build the site myself.
ZFS for Linux is not yet at version 1.0, so that represents some risk. But it is a port from Solaris, where it has been used in critical systems for years, and the majority of the bugs being found do not involve day to day operation and so do not affect reliability. Most of the open issues are in areas such as compiling in specific environments, and in management tools and utilities.
My preferred low-cost, low-power motherboard/CPU could be discontinued at any time. But I have already identified and tested another system, so I am ready for that.
I may be paranoid, but my biggest concern throughout this project has been running afoul of the RIAA (Recording Industry Association of America), due to the moxibox's potential to download and share pirated content. I have consulted an IP attorney who advised me to take some steps to minimize this risk. Accordingly, I will not ship systems with DVD players. My installation scripts will not install Handbrake or libdvdcss. And my ebook will not provide instructions for ripping content from CD/DVD or downloading content via torrents.
Those are all of the potential challenges I anticipate.Learn about accountability on Kickstarter
- (30 days)