SOLFIND
Web Lens
Portal home

GitHub - laosb/ghos3: A modernized AWS S3 storage adapter for Ghost. · GitHub

https://github.com/laosb/ghos3 • 270 KB fetched
Open original page


GitHub - laosb/ghos3: A modernized AWS S3 storage adapter for Ghost. · GitHub

Skip to content

Navigation Menu

Sign in Appearance settings

* Platform
* AI CODE CREATION
* GitHub Copilot Write better code with AI

* GitHub Copilot app Direct agents from issue to merge

* MCP Registry Integrate external tools

* DEVELOPER WORKFLOWS
* Actions Automate any workflow

* Codespaces Instant dev environments

* Issues Plan and track work

* Code Review Manage code changes

* Code Quality Enforce quality at merge

* APPLICATION SECURITY
* GitHub Advanced Security Find and fix vulnerabilities

* Code security Secure your code as you build

* Secret protection Stop leaks before they start

* EXPLORE
* Why GitHub

* Documentation

* Blog

* Changelog

* Marketplace

View all features

* Solutions
* BY COMPANY SIZE
* Enterprises

* Small and medium teams

* Startups

* Nonprofits

* BY USE CASE
* App Modernization

* DevSecOps

* DevOps

* CI/CD

* View all use cases

* BY INDUSTRY
* Healthcare

* Financial services

* Manufacturing

* Government

* View all industries

View all solutions

* Resources
* EXPLORE BY TOPIC
* AI

* Software Development

* DevOps

* Security

* View all topics

* EXPLORE BY TYPE
* Customer stories

* Events & webinars

* Ebooks & reports

* Business insights

* GitHub Skills

* SUPPORT & SERVICES
* Documentation

* Customer support

* Community forum

* Trust center

* Partners

View all resources

* Open Source
* COMMUNITY
* GitHub Sponsors Fund open source developers

* PROGRAMS
* Security Lab

* Maintainer Community

* GitHub Stars

* Archive Program

* REPOSITORIES
* Topics

* Trending

* Collections

* Enterprise
* ENTERPRISE SOLUTIONS
* Enterprise platform AI-powered developer platform

* AVAILABLE ADD-ONS
* GitHub Advanced Security Enterprise-grade security features

* Copilot for Business Enterprise-grade AI features

* Premium Support Enterprise-grade 24/7 support

* Pricing
Search /

Sign in
Sign up Appearance settings

You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

laosb

/

ghos3

Public

*

Uh oh!

There was an error while loading. Please reload this page .

*
Notifications
You must be signed in to change notification settings

*
Fork
16

*

Star
55

*

Code

*

Issues
4

*

Pull requests
1

*

Actions

*

Projects

*

Security and quality
0

*

Insights

Additional navigation options

*

Code

*

Issues

*

Pull requests

*

Actions

*

Projects

*

Security and quality

*

Insights

main

Branches Tags

Go to file

Code Open more actions menu

Latest commit
 

History
33 Commits
33 Commits

Folders and files
Name Name Last commit message
Last commit date

.github

.github

 
 

src

src

 
 

.gitignore

.gitignore

 
 

.prettierrc

.prettierrc

 
 

LICENSE.md

LICENSE.md

 
 

README.md

README.md

 
 

package.json

package.json

 
 

pnpm-lock.yaml

pnpm-lock.yaml

 
 

View all files

Repository files navigation

*

* README

* License

More items

GhoS3

An AWS S3 storage adapter tested on Ghost 5.x.

This is a modernized version based on colinmeinke/ghost-storage-adapter-s3 . Major changes are:

* Adopted async / await

* Rewritten in TypeScript

* Use latest Version 3 of AWS SDK

It's designed to be a drop-in replacement of colinmeinke's package, so configuration and installation method remained largely the same.

However, this port pretty much targets only Ghost 5.x and up, as the build toolchain is set to target Node 16.x. With some modifications this should work for older version of Ghost (PRs welcomed).

On my blog The Base , I use Cloudflare R2 with GhoS3.

Installation

# Install ghos3 package
npm install ghos3

# Create directory to storage adapter
mkdir -p ./content/adapters/storage

# Copy package files to s3 storage folder
cp -r ./node_modules/ghos3/ * ./content/adapters/storage/s3

# Remove unnecessary files generated from ghos3 installation
rm -Rf node_modules package-lock.json package.json

# Move to s3 storage folder
cd ./content/adapters/storage/s3

# Resolve dependencies
npm install

Configuration

Largely the same, but note signatureVersion and serverSideEncryption are removed since in AWS SDK v3 they're implemented differently than just a simple string field (PRs welcomed, of course).

"storage" : {
"active" : " s3 " ,
"media" :{
"adapter" : " s3 "
},
"files" : {
"adapter" : " s3 "
},
"s3" : {
"accessKeyId" : " YOUR_ACCESS_KEY_ID " ,
"secretAccessKey" : " YOUR_SECRET_ACCESS_KEY " ,
"region" : " YOUR_REGION_SLUG " ,
"bucket" : " YOUR_BUCKET_NAME " ,
"assetHost" : " YOUR_OPTIONAL_CDN_URL (See note 1 below) " ,
"pathPrefix" : " YOUR_OPTIONAL_BUCKET_SUBDIRECTORY " ,
"endpoint" : " YOUR_OPTIONAL_ENDPOINT_URL (only needed for 3rd party S3 providers) " ,
"forcePathStyle" : true ,
"acl" : " YOUR_OPTIONAL_ACL (See note 3 below) " ,
}
}

Notes

* Be sure to include // or the appropriate protocol within your assetHost string/variable to ensure that your site's domain is not prepended to the CDN URL.

* If your S3 provider requires path style, you can enable it with forcePathStyle .

* If you use CloudFront the object ACL does not need to be set to public-read .

Via environment variables

AWS_DEFAULT_REGION
AWS_ACCESS_KEY_ID // optional
AWS_SECRET_ACCESS_KEY // optional
GHOST_STORAGE_ADAPTER_S3_PATH_BUCKET
GHOST_STORAGE_ADAPTER_S3_ASSET_HOST // optional
GHOST_STORAGE_ADAPTER_S3_PATH_PREFIX // optional
GHOST_STORAGE_ADAPTER_S3_ENDPOINT // optional
GHOST_STORAGE_ADAPTER_S3_FORCE_PATH_STYLE // optional
GHOST_STORAGE_ADAPTER_S3_ACL // optional

For configuration on the AWS side, colinmeinke's original README has a detailed tutorial to set your up.

License

ISC

About
A modernized AWS S3 storage adapter for Ghost.
Topics
ghost ghost-storage ghost-storage-adapter
Resources
Readme
License
Activity
Stars
55 stars
Watchers
4 watching
Forks
16 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

Footer

(c) 2026 GitHub, Inc.

Footer navigation

*
Terms

*
Privacy

*
Security

*
Status

*
Community

*
Docs

*
Contact

*

Manage cookies

*

Do not share my personal information

You can’t perform that action at this time.

Links found on this page

  1. Skip to content [direct]
  2. Sign in [direct]
  3. GitHub Copilot Write better code with AI [direct]
  4. GitHub Copilot app Direct agents from issue to merge [direct]
  5. MCP Registry Integrate external tools [direct]
  6. Actions Automate any workflow [direct]
  7. Codespaces Instant dev environments [direct]
  8. Issues Plan and track work [direct]
  9. Code Review Manage code changes [direct]
  10. Code Quality Enforce quality at merge [direct]
  11. GitHub Advanced Security Find and fix vulnerabilities [direct]
  12. Code security Secure your code as you build [direct]
  13. Secret protection Stop leaks before they start [direct]
  14. Why GitHub [direct]
  15. Documentation [direct]
  16. Blog [direct]
  17. Changelog [direct]
  18. Marketplace [direct]
  19. View all features [direct]
  20. Enterprises [direct]
  21. Small and medium teams [direct]
  22. Startups [direct]
  23. Nonprofits [direct]
  24. App Modernization [direct]
  25. DevSecOps [direct]
  26. DevOps [direct]
  27. CI/CD [direct]
  28. View all use cases [direct]
  29. Healthcare [direct]
  30. Financial services [direct]
  31. Manufacturing [direct]
  32. Government [direct]
  33. View all industries [direct]
  34. View all solutions [direct]
  35. AI [direct]
  36. Software Development [direct]
  37. DevOps [direct]
  38. Security [direct]
  39. View all topics [direct]
  40. Customer stories [direct]
  41. Events & webinars [direct]
  42. Ebooks & reports [direct]
  43. Business insights [direct]
  44. GitHub Skills [direct]
  45. Customer support [direct]
  46. Community forum [direct]
  47. Trust center [direct]
  48. Partners [direct]
  49. View all resources [direct]
  50. GitHub Sponsors Fund open source developers [direct]
  51. Security Lab [direct]
  52. Maintainer Community [direct]
  53. GitHub Stars [direct]
  54. Archive Program [direct]
  55. Topics [direct]
  56. Trending [direct]
  57. Collections [direct]
  58. Copilot for Business Enterprise-grade AI features [direct]
  59. Premium Support Enterprise-grade 24/7 support [direct]
  60. Pricing [direct]
  61. Sign up [direct]
  62. laosb [direct]
  63. Notifications [direct]
  64. Issues 4 [direct]
  65. Pull requests 1 [direct]
  66. Actions [direct]
  67. Projects [direct]
  68. Security and quality 0 [direct]
  69. Insights [direct]
  70. Branches [direct]
  71. Tags [direct]
  72. 33 Commits [direct]
  73. .github [direct]
  74. src [direct]
  75. .gitignore [direct]
  76. .prettierrc [direct]
  77. LICENSE.md [direct]
  78. README.md [direct]
  79. package.json [direct]
  80. pnpm-lock.yaml [direct]