Create a Ghost Blog with AWS ECS. Deployed using the AWS CDK. This project is a fully self contained deployment of Ghost (https://ghost.org/)
Currently the project is setup to run the latest Ghosts LTS - v4.
This is an AWS CDK Project meant for an AWS Account. For the easiest time deploying it is recommended to setup the AWS CLI on your local computer and configure your [default]
profile to authenticate with your AWS Account in your desired region. See the following links for setting up:
AWS Account Setup:
AWS CLI Setup:
- https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
- https://docs.aws.amazon.com/cdk/v2/guide/cli.html
The project is build using CDKv2. You will need it installed on your system. This can be done by installing the latest LTS of Nodejs (https://nodejs.org/en/download/) then by running the following command:
npm install -g aws-cdk
- Clone the repository
cd
into the project- Open
conf/configuration.ts
and set your domain name - Run
npm install
- Run
npx cdk deploy
- Wait for the CDK to complete deploying the project to your account
By default cdk-ecs-ghost sets up all DNS with AWS Route53. You will need to login to your account and find your Nameservers and point whomever owns your domain to Route53. See https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html for details
- Simplified deployment using AWS CDK. Fill in the required minimum configuration and deploy!
- Customisable container. See
res/docker/Dockerfile
. Modify the container being deployed with Ghost! - Bring your own VPC, Bring your own ECS Cluster, Bring your own ALB! Pass their ARNs into the configuration and have the stack integrate with existing infrastructure!
- Access all components via CloudFormation Output variables or SSM Parameter Store
- Uniquely name the deployment with
prefixName
,assetBucketName
,clusterName
,serviceName
andcontainerName
. Most components are generated using CDK/Cloudformation generated values, but additional values can be added to provide meaning - Fully open source! Its all just CDK, if you want more customisation, simply fork or copy/paste code into your own for use!
- Project is still under heavy development. Nothing has been tested so far