Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS GHOST
Ghost is an open-source professional publishing platform from the Ghost Foundation, built as a Node.js application. It provides a clean writing and editing experience, customizable themes and templating, native membership and subscription management, email newsletters, SEO controls, and a full Content API and Admin API plus webhooks for integrations. Content, settings, and members are persisted in a MySQL 8.0 database; images and themes live on the local filesystem. Ghost is a self-hosted alternative to hosted publishing and newsletter services, with no per-seat fees and no vendor lock-in. This image runs Ghost on Node.js 22 with a bundled MySQL 8.0 database. MIT license. Ghost is a trademark of the Ghost Foundation; this independently hardened AMI is not affiliated with or endorsed by the Ghost Foundation.
WHAT THIS AMI ADDS
Security hardening:
- Unique MySQL database password generated per instance at first boot
- TLS terminated at nginx on 443; Ghost bound to 127.0.0.1:2368 only - never exposed directly
- Bundled MySQL 8.0 bound to 127.0.0.1 only
- Owner account created on first visit to the admin panel - you choose the email and password; no pre-seeded administrator credential is shipped
- Update-check telemetry disabled
- UFW firewall - ports 22 (SSH), 80 (HTTP redirect plus certificate validation), and 443 (HTTPS) only
- fail2ban, AppArmor
- CVE scan - every image is scanned for vulnerabilities before release
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
- auditd, SSH hardening, Kernel hardening, IMDSv2 enforced
Compliance artifacts:
- SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
- CIS Conformance Report at /etc/lynxroute/cis-report.html
- CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
Highlights
- Security baked in: a unique database password at first boot, TLS terminated at nginx with the application bound to loopback only, and a bundled MySQL 8.0 bound to 127.0.0.1 - unlike bare Ghost AMIs that ship with no TLS, the admin panel exposed over plain HTTP, and a database you must install and secure yourself. The site owner account is created by you on first visit; no admin credential is baked into the image.
- CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced. CVE-scanned before every release. SBOM (CycloneDX) and CIS Conformance Report included.
- Professional publishing on Node.js: a modern editor, customizable themes, built-in memberships and email newsletters, and a full Content and Admin REST API with webhooks. MIT license - fully auditable, no vendor lock-in.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
Dimension | Cost/hour |
|---|---|
t3.medium Recommended | $0.02 |
t3.large | $0.03 |
t3.small | $0.02 |
m6i.large | $0.05 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Ghost 6.45.0 - Initial release (June 2026)
- Ghost 6.45.0 on Ubuntu 24.04 LTS (Node.js 22 + bundled MySQL 8.0)
- CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
- CVE-scanned before every release
- Unique MySQL database password generated at first boot
- TLS terminated by nginx on 443; Ghost bound to 127.0.0.1:2368 only
- Bundled MySQL 8.0 bound to 127.0.0.1 only
- Site owner account created on first visit to the admin panel (no pre-seeded admin)
- Update-check telemetry disabled
- UFW firewall pre-configured (ports 22, 80, 443 only)
- fail2ban, auditd, AppArmor pre-configured
- SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
- CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
- IMDSv2 enforced
Additional details
Usage instructions
- Launch instance (t3.small minimum, t3.medium recommended)
- Open Security Group - allow TCP 443 (and TCP 80 for Let's Encrypt) from your IP
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Open https://<PUBLIC_IP>/ghost/ in your browser - accept the self-signed certificate warning - and complete the one-time setup screen. The FIRST account you create becomes the site Owner (administrator); you choose the email and password. There is no pre-seeded admin login.
- Your public site is live at https://<PUBLIC_IP>/ ; write and manage from the admin panel at /ghost/
- Operators: the bundled database credentials are at: sudo cat /root/ghost-credentials.txt
- Replace the self-signed TLS certificate with a CA-signed one (certbot is pre-installed) and point Ghost at your domain: sudo certbot --nginx -d yourdomain.com cd /var/www/ghost && sudo -u ghost ghost config url https://yourdomain.com sudo systemctl restart ghost
Ghost listens on 127.0.0.1:2368 only; nginx terminates TLS on 443 and reverse-proxies to it. Do not expose 2368 directly. The bundled MySQL 8.0 is bound to 127.0.0.1.
Staff device verification is disabled by default because the image ships with no outbound mail server. To enable it (emailed login codes), configure SMTP in /var/www/ghost/config.production.json and re-enable it, then restart Ghost.
Resources
Vendor resources
Support
Vendor support
Visit us online: https://lynxroute.com/#contact
For Ghost documentation:
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.