So I’ve started a blog. It feels good!
It’s nothing special really, just another wordpress blog but I’m proud non the less. Not because of its lovely exterior, nor due to the blog posts(there are none). No I’m proud because I have managed to set up everything about this blog. The server is mine, I set up the Letsencrypt SSL, I did the reverse proxy setup with nginx and finally set up the wordpress site. All this through docker containers on open media vault(OMV) on an ARM SBC, the rockpro64 from pine64.
I have no background in programming or the IT field in general. I study medicine!
But as a hobby I have over the past few years learned a lot about linux, servers and networking. At least enough to be able to set this up. It all began with me getting a raspberry pi about 3 years ago. It forced me to learn more about linux and I got to know the differences between different OSs and the difference between ARM and x86.
You can do so much with the raspberry pi and I got drawn to the idea of a personal cloud system. My girlfriends computer had just broken down so I had a spare hard drive lying around and I don’t enjoy using google drive (don’t want to give google more information than I really have to). So I followed a tutorial on youtube and got owncloud up and running on apache and a self-signed SSL cert. It was horrible. It was so slow. Transferring my photo collection would take hours, loading a page taking almost minutes.
I came to the conclusion that Owncloud was horribly bottle-necked on the raspberry pi 3b with 100mbit ethernet and the slow processor. And not only was 100mbit ethernet a problem but it is apparently sharing its bus with the USB-controller. So data would come in through the ethernet, through the USB-controller, then back through the controller out to the harddrive (which is connected by USB. Effectively giving you a 50mbit connection…
Hosting a site on hard drives are also NOT a good idea. In this day and age we are used to much lower latency than a hard drive can provide.
I then started planning for an upgrade. I knew what I wanted, something low power, possibly ARM, with gigabit ethernet, the ability to have internal hard drives connected by SATA, with a much more powerful processor and more memory. That was when I stumbled upon the Rockpro64 from Pine64. It had it all! Even a NAS-caseing capable of hosting 2x 3,5″ hard drives and a pcie slot for a SATA-controller. Best of it all was that pine64 had a wonderful community with an active forum.
I saved up and bought it together with 2x 6TB toshiba NAS-drives. This was around 2 years ago and buying the hardware was the easy part, learning how to administer a server was harder.
My first project was obviously to get my cloud up and running again and I found a great tutorial about doing this on OMV with docker. The tutorial was by technodadlife on youtube. Things didn’t really work at first but through some trial and error (99% errors) and a couple of weeks later nextcloud was running through nginx reverse proxy and letsencrypt SSL(green lockpad, yaaayyy). The DNS I used was duckdns since it was free.
The feeling of accomplishment when you have put so much work into something and it finally works, and works good at that, is really amazing. Nextcloud was everything I wanted, my data was synced automatically to my secure server with RAID1 storage, I could access my data everywhere through my own website, my photos and videos from the smartbrick was automatically backed up AND neither google, dropbox, facebook nor apple had their sticky fingers in my datajar. I could also in an easy way write down my calendar on the computer and it was all synced to my phone and alt computer without any manual interventions. This is especially important to me as a student with horrible management skills.
That is basically the story of how I got into computing as a hobby! I plan on writing about the different projects I have done with my server and going through, in detail, how to do it. I have found that there are a lot of tutorials around going through how to do these things but on x86 systems. Sometimes this is fine but if one docker container don’t have support for ARM then you have a problem.
I’m no expert(at all) so if I have done something in a very unsecure way please tell me in the comments together with a fix and I will edit the posts.
That is all for my first ever blog post! If anyone reads this, thank you for your time!