Site migrations and plans

When it comes to technology and server administration, there's an amazing array of hosted or 1 click/command setups out there for almost anything these days. Despite that, my personal preference is to work as close as possible to completely self hosted, self managed solutions as possible. Not because it's better. In many ways it's arguably a waste of time. But just because I enjoy it.

With my own site, I've learnt a lot about server migrations, secure firewalls, managing nginx and linux, etc. If all I wanted to do was to run a blog, then firing up a paid for instance on ghost.org or using a templated instance on Digital Ocean was probably all I needed to do.

But I don't. I really don't want to do that. I actually want to work with a mini cluster of servers on my own where I manage them, set them up to do experiments and stuff. Digital ocean covers most of that, but they are also a little bit expensive. The server I'm running on right now for example, costs just a quarter of what it would on Digital Ocean. Thanks to that, I've been able to run multiple blogs on it when I was testing it.

In addition to that, Digital Ocean has had some stories about slightly more aggressive auto banning for suspected abuse behaviour. I've never been entirely clear as to what activity can cause a warning/ban. This has led me to mail the team at Digital Ocean a few times before running some CPU intensive operations. To their credit, they've been great about it and have reassured me plenty before I go ahead. That said, here's their terms:

You may not use any shared System provided by DO in a way that unnecessarily interferes with the normal operation of the shared System, or that consumes a disproportionate share of the resources of the System. For example, we may require you to repair coding abnormalities in your Cloud-hosted code if it unnecessarily conflicts with other Cloud customers' use of the Cloud.

That's a very broad statement which admittedly covers them well legally. I respect them for that. In the case of Hetzner though, they are far more precise:

We strive to keep our networks operating at the highest possible level, so all of our clients benefit from it. Therefore the following actions are prohibited:

- Operating applications that are used to mine crypto currencies
- The scanning of foreign networks or foreign IP addresses
- The use of fake source IPs.

Crystal clear.


The changes made

One unfortunate thing that happened in my months of neglects of my personal website was my Amazon account getting deleted. When I visited America last year my credit card details were stolen. I have a sneaky suspicion about a Walmart I visited the day before leaving where one machine refused to accept my card. Regardless, I completely forgot that AWS was charging my account (it didn't fall under the free tier because of 1 server running on it) and when the charges went unpaid, they deleted everything including my S3 data which is where all my blog images were stored. This really upset me. The S3 data on its own fell under the free tier and if I had just spun down that server which I wasn't using anymore (it was a VPN server) it would have been fine. Silly mistake of mine.

Long story short, my images for the blog from May 2018 to now are all empty. I still have most of them saved locally but it'll take a while for the images to return 😞.

On the backend, with the lowered costs of Hetzner, I'm now running the images off local storage. I also switched the blog over to be managed by Cloudflare. I'm using hover purely as my domain purchasing tool. But for site management, Cloudflare's tools are king! With it, I'm making use of Cloudflare to handle the caching of static components instead.

I've also upgraded the blog to ghost v3 which is quite a wonderful change. The team who works on ghost is utterly inspiring. If I had to name a place after Buffer that I'd like to work at, I'd be torn between Basecamp and Ghost. And I've been in love with Basecamp since the days they were 37 signals. Not sure if I'll make use of some of the more advanced API features but with all the integrations I just might move the blog over to netlify.

On the tracking side, I've removed Google analytics. I plan to remove Google fonts next and clean up the site a little bit. Will update on how that goes when it's done.


Future plans/hopes

I don't want to dump too many plans here. I find they don't pan out. In the long run though, I'd like to build this site out to be a proper portal to everything I'm doing. That includes my hobbies which are fairly varied. I can imagine a "view everything" kind of page with ways to view data that's more specific.

I'd like to write small books or stories for example and I envision an entirely different view for that. For example, in my private notebooks I've been writing stories based on the adventures I've been having in Minecraft or a game called Temtem.

Categorization fatigue is a thing but I'd love to have "series" of posts. Movie reviews. Book reviews. Etc.

But most of all, I just hope I can motivate myself to write more freely. My notebooks keep filling up with half done ideas that I eventually scratch off because they don't stand up well enough. Maybe I can change that.

To the future 😊🚀

Posted on April 28 2020 by Adnan Issadeen