Image resizing not working in any theme

My local dev ghost install resizes images fine. But, my self hosted production server install does not. And, it doesn’t see to matter what theme I use. When a theme seems to call for an image that requires being resized the directory path to the new size in the html is valid but it points to an empty image file that doesn’t exist on the server. I assume there is some sorta permission issue but I can’t figure out where. Likely related…I recently noticed a strange thing where if I upload a publication icon, then save it, I get a broken image on the /ghost admin upload icon placeholder (since it’s presumably needing to get resized.)

I am at a loss for how to further investigate this and was wondering if folks have any advice?

My server is running v5.68.0.

Sharp is installed.
ghost@5.68.0 /var/www/ghost/versions/5.68.0
└─┬ @tryghost/image-transform@1.2.6
└── sharp@0.30.7

Permissions seem correct /var/www/ghost/content/images/size

drwxr-xr-x  3 ghost ghost 4096 Aug 22 22:39 w1000
drwxr-xr-x  3 ghost ghost 4096 Aug 26 03:30 w1140
drwxr-xr-x  3 ghost ghost 4096 Aug 23 17:04 w1200
drwxr-xr-x  3 ghost ghost 4096 Aug 20 18:06 w150
drwxr-xr-x  3 ghost ghost 4096 Sep  5 21:50 w1600
drwxr-xr-x  3 ghost ghost 4096 Oct  9 01:39 w1920
drwxr-xr-x  3 ghost ghost 4096 Aug 22 21:40 w2400
drwxr-xr-x  3 ghost ghost 4096 Aug 22 23:54 w256h256
drwxr-xr-x  3 ghost ghost 4096 Oct  9 01:39 w400
drwxr-xr-x  3 ghost ghost 4096 Aug 30 06:11 w600
drwxr-xr-x  3 ghost ghost 4096 Oct  9 01:40 w750
drwxr-xr-x  3 ghost ghost 4096 Oct  9 01:40 w960

ghost log doesn’t return anything related to images.

config.production.json is pretty normal looking

  "process": "systemd",
  "paths": {
    "contentPath": "/var/www/ghost/content"
ghost doctor

✔ Checking system Node.js version - found v18.17.0
✔ Checking logged in user
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
✔ Checking system compatibility
✔ Checking for a MySQL installation
+ sudo systemctl is-active ghost_danielraffel-me
Instance is currently running
ℹ Validating config [skipped]
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
✔ Checking binary dependencies
✔ Checking free space
✔ Checking systemd unit file
✔ Checking systemd node version - found v18.17.0

I posted a few other bits here:

Turned out to be an nginx config issue.

Solved: by adding a rule to my nginx config to forward requests with URIs starting with /content/images/size

sudo vi domainName.me-ssl.conf

# Rule to forward requests with URIs starting with /content/images/size to the Ghost process (or any other backend process)
location ^~ /content/images/size/ {
proxy_pass http://127.0.0.1:2368;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.