From Static to Dynamic: How I Migrated my Website to Ghost CMS on DigitalOcean

I am Dmytro from πΊπ¦ Writing about: π Python π» Software Development π Practical tips and advice
Check my website: https://DmytroLitvinov.com
Search for a command to run...

I am Dmytro from πΊπ¦ Writing about: π Python π» Software Development π Practical tips and advice
Check my website: https://DmytroLitvinov.com
No comments yet. Be the first to comment.
As a Django developer, I monitor many channels with Django content so my digests sometimes are also related to the Django framework. Hope you find it useful as well as me. πΈ How to delete a Django application πΈ [GSOC 2023] Allow moving a model bet...

π½ The growing pains of database architecture from Figma ποΈ How to optimize your SQL Database to handle millions of records β part 1 π How to optimise your SQL Database to handle millions of records β part 2 πΈ Django: migrations by choice π§βπ» 20...

πΈ Django: Avoid database queries in template context processors πΎ Lucide - Beautiful & consistent icon toolkit made by the community π± Handling a Million Tasks in Django: Efficient Prioritization with Celery, Redis, and Flower π 17 Django Tips an...

In the company where I work, I do a monthly digest with information that I find valuable and interesting to share with my colleagues and discuss them.This digest will be mostly related to Django framework. Links πΈ Django 4.2 released - Django 4.2 i...

In the company where I work, I do monthly digest with information that I find valuable and interesting to share with my colleagues and discuss them. Links π psql Tips - some useful psql tips to help you optimize your workflow and get the most out o...

One of the main reasons I decided to migrate my blog from the previous version built with Pelican static site generator for https://blog.dmytrolitvinov.com to Ghost CMS was because I wanted to create and manage my content more easily. With Ghost CMS, I found it easier to focus on writing and creating new content, rather than spending time on technical maintenance or worrying about the design of my website.
In images below you can see old version of website. Homepage was built using dev-landing-page GitHub repo and hosted using GitHub Pages.

Old version of homepage https://DmytroLitvinov.com using dev-landing-page repo

Old version of https://blog.dmytrolitvinov.com using Pelican static site generator
Migrating to Ghost CMS hosted on DigitalOcean (registering using my referral link will give you 200$ for 60 days) was a great move for my website. Ghost CMS is a user-friendly, powerful, and modern platform designed specifically for bloggers and content creators. Its intuitive interface, customizable themes, and powerful editor made it an ideal solution for my blog.
To begin, I signed up for a DigitalOcean account and created a droplet (virtual machine) with Ubuntu using Ghost 1-Click App which allowed me to self-host my own Ghost instance up and running in two minutes.
After installing Ghost CMS, I was able to customize my theme. Ghost CMS offers a variety of themes and plugins to enhance website, and its powerful editor allowed me to create beautiful and engaging content without any coding knowledge. As a theme for my website I found out a really cool theme called smart (Hi Ryan if you are reading it π)
One of the main reasons I chose a self-hosted solution was to have full control over my website. With Ghost CMS hosted on DigitalOcean, I am able to manage my website and make changes whenever I want. Overall, migrating to Ghost CMS on DigitalOcean was a smooth and easy process, and I am very satisfied with the results.
After migration I stacked with some of problems like:
A lot of redirects because of SSL in CloudFlare.
Solution: https://blog.lanway.dev/too-many-redirects-on-ghost-blog-install/
No swap on server (not a big deal, but still)
Solution: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-22-04
Setup of MailGun
Solution: https://forum.ghost.org/t/502-bad-gateway-after-reboot-the-server-any-hep/36203/14