Disk on a platter

This article on building a Raspberry Pi NAS solution has been sitting in my drafts for three years now. Recently, my Raspberry Pi had stopped working (the SD card had died), so I rebuilt it yesterday. I cursed myself for not having finishing the text back then, as I now had to retrace some steps manually. So, here goes the finished procedure for future reference.

I got a Raspberry Pi as a birthday present from my thoughtful colleagues!

Raspberry Pi

Now, as my first project I decided to connect it to my 2TB external hard drive and serve it on my local network using the Samba protocol (I tried NFS and SSH too, but Samba proved to be the most performant protocol and is also cross-platform). No more moving the disk around and hooking up USB cables 🙂 Continue reading Disk on a platter

CloudFleet – Captain’s log – The End of the Sysadmin

We have already talked quite a bit about the importance of self-hosting your apps due to the limitations of centralized cloud services and mentioned a number of great apps ready for self-hosting. In this blog post, we assume that you already self-host your apps to protect your data autonomy. From here, we look at what happens after you set up an app on your hardware, and how you maintain it: a job that is typically done in organisations by professional system administrators, aka sysadmins.

Source: CloudFleet – Captain’s log – The End of the Sysadmin

Home automation using Python, Flask & Celery

We are all a bit lazy in this post-holiday period, so what better project to work on during these relaxed evenings at home, but on a home automation system. Having Docker containers on a physical device that has access to all other IoT devices in our network with exposed APIs like TVs, speakers or maybe even droids and being able to iteratively upgrade these containers gives us ample opportunity to play.

I love the elegance of resin.io’s Docker container deployment & upgrade method, so I use it a lot for hobby projects & freelance work. In this tutorial, I’ll show you how to create a Python Flask app with periodic Celery tasks for controlling your TV via the Chromecast API. All of the source code can be found in this repo. So, go get a hot cup of tea, clone the repo and let’s get started…

Source: Home automation using Python, Flask & Celery

A no fuss Docker install on Rapberry Pi 2

During CloudFleet development, we had some problems in finding a consistent way to install Docker in Debian Jessie on ARM (Raspberry Pi 2). Debian moved us around between mirrors a bit and then eventually settled on Docker 1.7.1 which doesn’t work on ARM (Socket operation on non-socket). Luckily, we found a nice Docker .deb package that works on ARM thanks to the Hypriot community (check the link for the latest Docker version). To use it, simply do:

wget http://downloads.hypriot.com/docker-hypriot_1.8.2-1_armhf.deb
dpkg -i docker-hypriot_1.8.2-1_armhf.deb

Or if you use Ansible, use this snippet: Continue reading A no fuss Docker install on Rapberry Pi 2

Installing CyanogenMod on HTC Sensation

After using the stock Android ICS that came with my Sensation for a couple of years and getting fed up with it crashing and being slow all the time, I decided to try out the CyanogenMod (CM) everyone was talking about. When I started with this endeavour, I was a bit overwhelmed by the amount of incoherent/incomplete resources all around. In this post, I’ll try to summarise the steps necessary to install it in a more human way to help others achieve the same goal.

HTC Sensation and the material design of CM 12
HTC Sensation and the material design of CM 12

Continue reading Installing CyanogenMod on HTC Sensation