bbb/_posts/2020-12-08-getting-ready.md

59 lines
2.7 KiB
Markdown

---
layout: post
title: Getting Ready
---
![favicon]({{ site.baseurl | absolute_url }}/public/favicon.png)
After contemplating about different options for hosting, blogging technologies and domain names for a couple of days, I have settled on the following configurations to start blogging! (for now! )
### Domain Name
[Bionic Beanie](https://theportalwiki.com/wiki/Bionic_Beanie) is a head wear from [Portal 2](https://en.wikipedia.org/wiki/Portal_2) co-op. Portal series is one of my favourite PC games and **Bionic Beanie Blog** sounded great in my head ([alliteration](https://en.wikipedia.org/wiki/Alliteration) skills bruh!).
Bought it right away from [Go Daddy](https://in.godaddy.com/). The package included DNS hosting as well.
### Blog Tech
I wanted to use a static site generator as opposed to any CMS like Wordpress. They should be faster and easier to configure/manage. [Jekyll](https://jekyllrb.com/) is what I settled with - mainly because I [recognise the name from my childhood](https://en.wikipedia.org/wiki/Strange_Case_of_Dr_Jekyll_and_Mr_Hyde).
To fasttrack my site design, I decided to use [Lanyon](https://github.com/poole/lanyon#readme) which is an extension of [Poole](https://getpoole.com/) - which I also [recognize from my childhood](https://study.com/academy/lesson/mr-poole-in-dr-jekyll-mr-hyde.html).
### Hosting my blog
Bought the cheapest VPS from [Vultr](https://www.vultr.com/) for $5 a month - 1GB RAM and a single core shared server. This is more than good enough for hosting my static files. I might end up using this instance for some of my other projects too.
### Working Setup
The server will run behind an [nginx](https://www.nginx.com/) instance serving static files from `_site` folder that are built as part of jekyll build process. This way, I just have to clone and build the files to publish new changes. I will push the blog site data to a remote git repository to manage the articles.
[LetsEncrypt](https://letsencrypt.org/) helped issuing free ssl cert for my domain.
The below nginx conf concludes the setup of the blog.
```
server {
location / {
root /var/www/html/site; # synlink to _site
}
listen 443 ssl;
ssl_certificate <path to chain.pem>;
ssl_certificate_key <path to private-key.pem>;
}
```
I can make new changes on the repo and push them in.
And publish new changes with `JEKYLL_ENV="production" bundle exec jekyll build` from inside the VPS.
It should be possible to do this with a git hook, but I'm not too worried about it right now.
### Logo
The letters signify the first letter of the site's name. The color scheme is a reference to the two different portal colors in Portal.
![favicon]({{ site.baseurl | absolute_url }}/public/favicon.png)
**Let's Go**