We've been using ghost for over 2 years now and we regret the lockin. It does a lot and does many things well but even more so it does a lot of things very badly:
- The mariadb support drop was a major complication.
- The codebase is amateur with a lot of todo comments, non functional areas and
- The admin API is very limited, meaning you have to reverse engineer backend API yourself to do more complex tasks.
- The front end is slow and very difficult to extend. Theming is a real mess with a lot of hard coded areas that require very awkward patching.
The front-end is making any long-term support almost impossible:
- There's no version control for articles. There's no individual article backup for implementing your own version control and automation. The admin API is there but it's very difficult to use.
- There's no way to extend or modify UI. For example there's no mass modification, tagging or any advance features that you'd expect from a long-term CMS.
- It's really slow and most components are not compatible with the modern web. There's no predictable media naming for lazy preloading and other small issues that severely damages SEO potential.
Honestly, the value provided by Ghost is overshadowed by things that are just broken or badly designed. We regret basing our project on it.