Ghost error log shows this:
“req”: {
“meta”: {
“requestId”: “313ab983-5397-4494-8825-0a09920daae3”,
“userId”: “1”
},
“url”: “/images/upload/”,
“method”: “POST”,
“originalUrl”: “/ghost/api/admin/images/upload/”,
“params”: {},
“headers”: {
“x-forwarded-for”: “2601:246:5d80:e090:24e8:215d:4009:3f87, 172.69.17.191, 10.0.0.158”,
“x-forwarded-proto”: “https”,
“x-real-ip”: “10.0.0.158”,
“host”: “www.DOMAIN.org”,
“connection”: “close”,
“content-length”: “57018”,
“x-forwarded-scheme”: “https”,
“referer”: “https://www.DOMAIN.org/ghost/”,
“sec-fetch-dest”: “empty”,
“sec-fetch-site”: “same-origin”,
“cf-ray”: “951c1fa28e5050d9-ORD”,
“sec-fetch-mode”: “cors”,
“user-agent”: “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:139.0) Gecko/20100101 Firefox/139.0”,
“accept”: “text/plain, /; q=0.01”,
“accept-language”: “en-US,en;q=0.5”,
“accept-encoding”: “gzip, br”,
“x-ghost-version”: “5.125”,
“app-pragma”: “no-cache”,
“x-requested-with”: “XMLHttpRequest”,
“content-type”: “multipart/form-data; boundary=----geckoformboundary90a33eb0f735af1538d96e728ea61deb”,
“origin”: “https://www.DOMAIN.org”,
“cf-visitor”: “{"scheme":"https"}”,
“cdn-loop”: “cloudflare; loops=1”,
“cf-connecting-ip”: “2601:246:5d80:e090:24e8:215d:4009:3f87”,
“cf-ipcountry”: “US”,
“cookie”: “REDACTED”
},
“query”: {}
},
“res”: {
“_headers”: {
“x-powered-by”: “Express”,
“content-version”: “v5.125”,
“vary”: “Accept-Version, Origin, Accept-Encoding”,
“cache-control”: “no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0”,
“access-control-allow-origin”: “https://www.DOMAIN.org”,
“content-type”: “application/json; charset=utf-8”,
“content-length”: “317”,
“etag”: “W/"13d-krP7VKHtFa1yx1KO4YnzEpQ9Vww"”
},
“statusCode”: 400,
“responseTime”: “19ms”
},
“err”: {
“id”: “605c2bb1-4c60-11f0-ae20-73a421c3aebb”,
“domain”: “https://www.DOMAIN.org”,
“code”: null,
“name”: “BadRequestError”,
“statusCode”: 400,
“level”: “normal”,
“message”: “Image processing failed”,
“context”: “"Sharp wasn’t installed"”,
“help”: “"Please verify that the image is valid"”,
“stack”: “BadRequestError: Image processing failed\n at Object.query (/home/ljhardy/public_html/DOMAIN.org/versions/5.125.1/core/server/api/endpoints/images.js:43:27)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async getResponse (/home/ljhardy/public_html/DOMAIN.org/versions/5.125.1/node_modules/@tryghost/api-framework/lib/pipeline.js:259:34)\n at async ImplWrapper (/home/ljhardy/public_html/DOMAIN.org/versions/5.125.1/node_modules/@tryghost/api-framework/lib/pipeline.js:264:30)\n at async Http (/home/ljhardy/public_html/DOMAIN.org/versions/5.125.1/node_modules/@tryghost/api-framework/lib/http.js:70:28)”,
“hideStack”: false
},
“msg”: “Image processing failed”,
“time”: “2025-06-18T16:22:06.575Z”,
“v”: 0
}