Welcome to the Ghost Deployment Guide for AWS! Ghost is a powerful open-source publishing platform built for modern online publishing. Whether you're running a blog, newsletter, or membership site, this guide walks you through deploying Ghost on AWS using Meetrix's pre-configured AMI, configuring your domain, enabling SSL, and operating it reliably.

Prerequisites

Before you get started with the Ghost AMI, ensure you have the following prerequisites:

  • Basic knowledge of AWS services, including EC2 instances and CloudFormation.
  • An active AWS account with appropriate permissions.
  • A registered domain name with access to your DNS settings.
  • Enough vCPU limit to create an instance (Follow https://meetrix.io/blogs/increase-aws-vcpu-quota/ to ensure this).

Launching the AMI

Step 1: Find and Select the 'Ghost' AMI

  1. Log in to your AWS Management Console.
  2. Navigate to the 'Ghost' product in AWS Marketplace.

Step 2: Initial Setup & Configuration

  1. Click the "Continue to Subscribe" button.
  2. Accept the terms and click "Continue to Configuration".

Step 3: Launching the Instance

  1. Select the "CloudFormation" fulfillment option and choose your preferred region, then click "Continue to Launch".
  2. From the action menu, select "Launch CloudFormation" and click "Launch".

Create CloudFormation Stack

Step 1: Create Stack

  1. Ensure the "Template is ready" option is selected under "Prepare template".
  2. Click "Next".

Step 2: Specify Stack Details

  1. Provide a unique "Stack name".
  2. Provide the "Admin Email" for SSL generation.
  3. For "DeploymentName", enter a name of your choice.
  4. Provide a public domain name for "DomainName" (SSL will be set up automatically during deployment).
  5. Choose an instance type for "InstanceType" (Recommended: t3.small).
  6. Select your preferred "KeyName".
  7. Set "SSHLocation" as "0.0.0.0/0".
  8. Keep "SubnetCidrBlock" as "10.0.0.0/24".
  9. Keep "VpcCidrBlock" as "10.0.0.0/16".
  10. Click "Next".

Step 3: Configure Stack Options

  1. Choose "Roll back all stack resources" and "Delete all newly created resources" under the "Stack failure options" section.
  2. Click "Next".

Step 4: Review

  1. Review and verify the details you've entered.
  2. Tick the box that says "I acknowledge that AWS CloudFormation might create IAM resources with custom names".
  3. Click "Submit".

Afterward, you'll be directed to the CloudFormation stacks page. Please wait for 5–10 minutes until the stack has been successfully created.

Update DNS

Step 1: Copy IP Address

Copy the public IP labeled "PublicIp" in the "Outputs" tab of your CloudFormation stack.

Step 2: Update DNS

  1. Go to AWS Route 53 and navigate to "Hosted Zones".
  2. Click Create record.
  3. Add the record name and paste the copied "PublicIp" into the "Value" textbox.
  4. Click "Save".

Access Ghost

Once the DNS propagates, you can access your Ghost site using the "DashboardUrl" provided in the "Outputs" tab. To access the Ghost Admin panel, append /ghost to your domain:

https://your-domain.com/ghost

Create your administrator account by providing your name, email, and password on the setup screen.

After completing setup, you'll be taken to the Ghost Admin dashboard where you can create posts, manage members, configure your theme, and set up newsletters.

Important

The account you create during setup is the Administrator Account for your Ghost deployment. The email and password you provide will be used to manage your entire publication, including inviting staff members, configuring integrations, and maintaining overall access.

Generate SSL Manually

Ghost will automatically try to set up SSL when a Route 53-hosted domain is provided. If it fails, follow these steps to generate SSL manually.

Step 1: Copy IP Address

  1. Follow the Update DNS steps above, if not already done.
  2. Copy the Public IP labeled "PublicIp" in the "Outputs" tab of your CloudFormation stack.

Step 2: Log in to the Server

  1. Open the terminal and navigate to the directory where your private key is located.
  2. Run:
ssh -i <your-key-name>.pem ubuntu@<Public IP address>
  1. Type "yes" and press Enter to confirm.

Step 3: Generate SSL

Run the following command and follow the prompts:

bash /root/certificate_generate_standalone.sh

Check Server Logs

Step 1: Log in to the Server

  1. Open the terminal and navigate to the directory where your private key is located.
  2. Connect to your instance using the following command:
ssh -i <your-key-name>.pem ubuntu@<Public IP address>
  1. Type "yes" and press Enter to confirm the host fingerprint and log in.

Step 2: Check the Logs

sudo docker ps

sudo docker logs <container_id or container_name>

Shutting Down Ghost

  1. Click the link labeled "Instance" in the "Resources" tab of your CloudFormation stack to navigate to the EC2 instance.
  2. Stop the instance by selecting the checkbox and clicking "Stop instance" from the "Instance state" dropdown. You can restart it at any time by selecting "Start instance".

Remove Ghost

Delete the CloudFormation stack from the AWS Management Console under "CloudFormation > Stacks" by selecting the stack and clicking the "Delete" button. This will remove all associated AWS resources.

Upgrades

When a new version of Ghost is available, we will update the product in AWS Marketplace. You can check the current product version in the Marketplace listing. If a newer version is available, remove the previous deployment and re-launch using the newer AMI version. Remember to back up your Ghost content and configuration before removing the existing stack.

Troubleshoot

  1. If you encounter a vCPU quota error when launching the stack, follow https://meetrix.io/blogs/increase-aws-vcpu-quota/ to increase your vCPU limit.
  2. If you see a "do not have sufficient capacity" error while creating the stack, try changing the AWS region or retry at a later time.
  3. If the Ghost admin panel is not accessible immediately after deployment, wait 5–10 minutes for the service to fully initialise, then refresh the page.
  4. Check disk usage to ensure the instance storage is not full:
  • Log into the server and run:
df -h
  • If the root volume is between 90–100%, increase the EBS volume size following AWS documentation. Then reboot the instance and restart the Ghost service.

Conclusion

The Meetrix Ghost Deployment Guide helps you set up Ghost on AWS quickly and securely. Whether you're a developer, content creator, or DevOps engineer, this guide provides step-by-step instructions to deploy Ghost in a scalable and reliable way — with SSL, Docker-based management, and AWS best practices built in.

Technical Support

Reach out to Meetrix Support (aws@meetrix.io) for assistance with your Ghost deployment.

Frequently Asked Questions

What is Ghost?

Ghost is a powerful open-source publishing platform built for modern online publishing. It supports blogs, newsletters, and membership sites with a clean editor, built-in SEO, and native membership/subscription features.

What are the prerequisites for deploying Ghost on AWS?

You need basic knowledge of AWS services (EC2, CloudFormation), an active AWS account with appropriate permissions, a registered domain name with DNS access, and a sufficient vCPU limit to launch the required instance type.

Which instance type is recommended for Ghost?

t3.small is recommended as a baseline for running Ghost on AWS. You can scale up to t3.medium or larger depending on your traffic and membership volume.

How do I access the Ghost admin panel?

Once your domain propagates, append /ghost to your domain (e.g. https://your-domain.com/ghost) to reach the Ghost Admin panel and complete the initial setup.

How do I handle upgrades?

When a new version is available in the AWS Marketplace, back up your Ghost content and configuration, remove the previous deployment, then relaunch using the newer AMI version.

How do I get technical support?

Reach out to Meetrix Support at <a href='mailto:aws@meetrix.io'>aws@meetrix.io</a> for assistance with your Ghost deployment.

Ready to Deploy Your Own Ghost Instance?

Get started in minutes with our pre-configured AMI and take full control of your Ghost publishing platform on AWS.

Deploy Ghost from AWS Marketplace