Ghost "Image processing failed" 문제 해결

Ghost에서 발생하는 "Image processing failed" 문제를 해결하는 방법을 공유합니다.

Ghost에서 "Image processing failed" 에러가 발생했을 때 해결했던 방법을 공유한다. 하지만, 이 방법은 100% 맞는 해결법은 아니고, 땜질의 성격으로 고친 상황이다. 만일, 근본적으로 해결할 방법이 있다면 별도의 글로 소개해보도록 하겠다.

Error Message

Image processing failed

"Sharp wasn't installed"
"Please verify that the image is valid"

Error ID:

Ghost에서 글을 쓸 때 이미지를 첨부하면, 이미지 업로드가 수행되지 않으면서 서버 로그에는 위와 같이 에러가 발생한다.

Environment

  • ARM64
  • Ghost on Docker
  • Ghost 5.119.0

Solution

일단 이 문제를 해결하기 위해서는 Sharp라는 Dependency를 설치해야할 것으로 보이는데, 지금 상황에서는 단순히 npm install sharp 로는 해결되지 않는 상황이다. 그래서, 별도로 컴파일해서 설치하는 경우도 있는데 나는 이렇게도 해결되지 않았다. (ARM64 이슈로 추측)

그래서 임시적으로 sharp를 비활성화하여 해결하였다.

environment:
  imageOptimization__resize: "false"

위와 같이 환경변수를 설정하면 된다.

다만, 위와 같이 설정하면 이미지를 업로드할 때 리사이즈 같은 작업을 수행하지 않기 때문에 이미지의 용량이 증가할 수 있다.

근본적으로 sharp를 재설치하여 해결할 방법이 생기면 공유할 수 있도록 하겠다.