Like the painter that is behind on his yearly painting maintenance, I have been behind on my home IT. Not that I don’t try new stuff. I just don’t properly get around to do the setups right. It’s a 5pm to 9am job doing home IT. That means it has to compete with all the other stuff. Family life, band practise , seeing friends and couching out some binge watchable streaming content. So interruption is frequent and time and energy to work on it is limited. Resulting into half-finished projects which become harder to pickup over time. You get alienated from your own badly documented code easily. So time to set this up a better way.
Good Practise 1 : Document your work And just because I personally believe that sharing is the new way of proper documenting things I use this blog also as a final version of documentation.
Home lab setup and Hardware
The site your reading runs from my own house on the same infrastructure as I use to back-up my photos and stream media. It’s just runs a Synology DS412+ it has 3x 2TB in a “Synology Hybrid Raid” which gives me 3.48TB storage. Performance has been boosted just a little by adding a 30GB SSD as SSD Cache and the factory only 1GB memory has been replaced by a 2GB memory. The whole systems is pretty solid and doesn’t have a large energy foot print to keep it running 24x7. The Synology is capable of running loads of apps directly on the Synology package centre.
I bought this synology second-hand for 175,-. The disks where about 75,- each and the memory upgrade was 30,-. So the total was 175+(3x75)+30 = 430,-. Within budget for a home solution I say. Just to make sure the external performance of websites running on it stays good, I put those behind Cloudflare
Good Practise 2: Work within your limits This means knowing your budget and your hardware. But don’t be afraid to use cheap services or sometimes free for promotional reasons like cloudflare.
An example project
As you can also see in my 2nd post here I have chosen to write something about Docker and Ansible. Controlling docker containers is of course a job for an automation framework. Ansible is just my personal jack of all trades in my day-job where I use it for Network automation. I run it from a VirtualBox virtual machine that runs Ansible. I run it form a VM is just because I haven’t found out yet where to go with my CI/CD pipelines within the setup of my home lab. Jenkins, GitLab, Ansible, Docker swarm, webbooks for code changes and of course how-to bootstrap if you want to run also Ansible itself in a container for example. More fun stuff to find out some other day. (Probably Part2 or Part3).
Good Practise 3 : Setup a structure todos and ideas like a backlog I have chosen Clubhouse as a storyboard haven’t fully tested it but so far works great