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 platform is then deployed on a DigitalOcean cloud Droplet with Docker Compose, where database and images are backed up to both local and remote hosts with a cron script.
The platform is administered securely by a DevOps role over SSH, and content is edited securely by an Author role over SSL. Changes to content trigger a front-end rebuild and release on Netlify.
Source code for the Web application is developed from GatsbyJS, ReactJS, LunrJS, Yarn and Node on a local developer device, and versioned in a front-end GitHub repo. The application currently features:
- A client-side search engine
- A dark/light toggle mode
- Hierarchical tags
- Syntax highlighting for code snippets
Changes to the front-end repo's main branch triggers a CI/CD pipeline which rebuilds and publishes a new release of the website on Netlify cloud as a decoupled, static-first, progressively enhanced, secure, and headless static website.