Source code for GhostCMS, MariaDB, Nginx, Let's Encrypt and Certbot is engineered into Docker images on a local developer device and versioned in a back-end GitHub repo.
This infrastructure hosts content and images used by the front-end. It is deployed on DigitalOcean as a cloud Droplet. Cron scripts back up content to local and remote hosts.
An Author role edits content over a TLS connection administers the platform securely over a TLS connection, and edits trigger an automatic front-end rebuild and release on Netlify.
Source code for the static web application is developed with GatsbyJS, ReactJS, LunrJS, Yarn and Node on a local developer device, and versioned in a front-end GitHub repo.
Repo updates trigger a CI/CD pipeline which rebuilds and publishes a new release of the app on Netlify cloud. Every build uses GraphQL to retrieve content from the back-end CMS.
The result is a decoupled, static-first, progressively enhanced, secure, and headless static web application that currently features:
- A 100% client-side search engine
- A dark/light toggle mode
- Hierarchical tags
- Syntax highlighting for code snippets