As a software engineer and credit card nerd, the thought of combining the two and hacking up a personal site where I can write about all things finance and travel got me super excited! Let me share how I did it:
This are basically 3 parts to getting up and running:
- Choose a platform - Ghost
- Choose a hosting provider - DigitalOcean
- Find a domain name - creditFred.com
I'll go into specifics on why I chose these and how to get set up in the next section.
1. Platform: Ghost
Ghost is a super simple yet powerful publishing platform. I've tried various services like Squarespace, Wix, Medium, none of which I ended up being completely satisfied with. However, after discovering Ghost, I realized this was a simple enough platform to deploy easily on my own, but also powerful enough so I can customize it to fit my needs, integrate with third-party APIs, and maintaining full control of my website experience. Furthermore, DigitalOcean provides a one click setup process to streamline things even more!
Initially, just to try out the platform, I decided to deploy it locally just to get a feel before I commit to it. Below are the general instructions I used.
In your terminal, install the Ghost Command Line tool:
npm install ghost-cli@latest -g
Then, in your terminal
cd to an empty directory and install Ghost:
ghost install local
Now in your browser, visit
http://localhost:2368/ghost to access the Ghost Admin panel (remove the
/ghost to view site) and start testing it out!
2. Hosting: DigitalOcean
There are many services such as Amazon Web Services, Microsoft Azure, Google Cloud Platform, etc. However, for simplicity sake and it's built in one-click integration setup process with Ghost, as well as it's affordable price, I decided to give DigitalOcean a try.
First, I created a Droplet (what DigitalOcean calls their scalable VM), and selected the Ubuntu Ghost VM. Their basic hosting plan starts at just $5/month (capped), and may cost even less if you don't use all resources. Here is free $100 credit to get started.
Once your VM has spun up, you will be given an I.P. address (e.g.
184.108.40.206). Open up your terminal and SSH into your VM.
Follow the prompt and it will automatically configure Ghost for you! Note: to avoid having to go back and reconfigure your URL, I recommend pausing here and purchase a domain name (Step 3) first before continuing.
Check out the Official Getting Started Documentation from DigitalOcean for more details.
3. Domain: GoDaddy
Even though theoretically you could just send your friends/family your website's I.P. address and access it that way, it's much easier to give them a more human-readable URL.
There are many places you can buy from, GoDaddy is probably the most well known, but alternatives like NameCheap should work the same way and you can always transfer over to another provider in the future. I ended up going with GoDaddy since it was the cheapest.
Depending on your domain name and which top level domain you go with (most popular being
.com, but there are endless possibilities), the cost may vary. A few I considered were
thecreditfred.com. In the end, for simplicity sake, I decided to go with the current URL and also because GoDaddy was offering a great deal of only charging $0.99 for the first year, an incredible deal!
After purchasing your domain, log into your provider's control panel and update the DNS setting to point to your I.P. address. Here is a great Youtube video for more details.
Now, simply visit your URL and you should be directed to your new site! You are now ready to set up your account and start adding content!
For official documentation and more in-depth guides, visit Ghost.org