# Images are not loading any more on my Ghost blog from 1 click Digitalocean

**URL:** <https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235>\
**Category:** Developer help\
**Created:** [April 1, 2024, 6:37pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235 "2024-04-01T18:37:08Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Qws](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/qws/32/29696_2.png) [@Qws](https://forum.ghost.org/u/Qws)\
**Post date:** [April 1, 2024, 6:37pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/1 "2024-04-01T18:37:09Z")

</div>

If you’re looking for help, please provide information about your environment. If you delete this template and don’t provide any information, your topic will be automatically closed.

If you aren’t running the latest version of Ghost, the first thing we’ll ask you to do is update to the latest version of Ghost.

- **What’s your URL**? This is the easiest way for others to help you

My blog:

> **[Strongest Fighter](https://strongestfighter.com)**
>
> Thoughts, stories and ideas.

- **What version of Ghost are you using?** If it’s not the latest, please update Ghost first before opening your topic

Current version: `5.80.0`

And

- How was Ghost installed and configured?

Digitalocean 1 click

- What Node version, database, OS & browser are you using?

Debug Information:

> ```
> OS: Ubuntu, v22.04.3 LTS
> 
> ```

> ```
> Node Version: v18.17.1
> Ghost Version: 5.80.0
> Ghost-CLI Version: 1.26.0
> Environment: production
> Command: 'ghost update'
> 
> ```

- What errors or information do you see in the console?

I have multiple errors, like updating failing because no permission:

`Message: 'EACCES: permission denied, mkdir '/var/www/ghost/versions/5.81.1''`

And Mail related errors:

```auto

Apr 01 18:23:17 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: [2024-04-01 18:23:17] INFO [EmailAnalytics] Aggregating for 0 emails
Apr 01 18:23:17 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: [2024-04-01 18:23:17] INFO [EmailAnalytics] Aggregating for 0 members
Apr 01 18:23:17 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: [2024-04-01 18:23:17] ERROR Error while fetching email analytics Not Found
Apr 01 18:23:17 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: [2024-04-01 18:23:17] ERROR Not Found

```

- What steps could someone else take to reproduce the issue you’re having?

1. Setup Ghost From DigitalOcean 1 click
2. Disable mailing in control panel (because I just want to post)
3. Publish a lot
4. Enable and setup mailing again in control panel
5. Login terminal in DigitalOcean and accidentally make faulty json format mistake
6. Realize you need regular user (ghost-mgr) to restart Ghost instead of as root user.
7. I didn’t know password of regular user so I changed it.
8. Retry and successfully added Mailgun credential and restarted Ghost.

Mailgun still doesn’t work, but I have bigger issue, old images aren’t loading…

After that it was just hell, lots of permission issues, couldn’t start Ghost because Ghost didn’t had permission to read all kinds of logs and files. I was so frustrated because I posted lots, and I started gaining users. I wanted to just quit and start with Wordpress, but I managed to bring Ghost online again after lots of “sudo chmod +rw” commands on all kinds of files… but images aren’t loading now.

---

<div class="post-metadata">

**Author:** ![Qws](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/qws/32/29696_2.png) [@Qws](https://forum.ghost.org/u/Qws)\
**Post date:** [April 1, 2024, 6:41pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/2 "2024-04-01T18:41:21Z")

</div>

I am also randomly getting this error, not sure if it is related:

```auto
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: Authorization failed
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: "Unable to determine the authenticated user or integration. Check that cookies are being passed through if using session authentication."
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: Error ID:
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: 0f180f00-f057-11ee-895c-21472fd9c9d9
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: ----------------------------------------
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: NoPermissionError: Authorization failed
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: at authorizeAdminApi (/var/www/ghost/versions/5.80.0/core/server/services/auth/authorize.js:33:25)
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: at Layer.handle [as handle_request] (/var/www/ghost/versions/5.80.0/node_modules/express/lib/router/layer.js:95:5)
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: at next (/var/www/ghost/versions/5.80.0/node_modules/express/lib/router/route.js:144:13)
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: at authenticate (/var/www/ghost/versions/5.80.0/core/server/services/auth/session/middleware.js:28:13)
Apr 01 18:38:40 ghostonubuntu2204-s-1vcpu-2gb-sfo3-01 node[65051]: at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

```

These permission issues are really frustrating…

The permission look fine, and the images are all located in var/www/ghost/content/images, so I don’t understand the issue…

Strangely enough, the image I can see is not in the the `"/var/www/ghost/content/images/"` folder, but all the other images the website can’t load (because 404) are in the folder.

---

<div class="post-metadata">

**Author:** ![Qws](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/qws/32/29696_2.png) [@Qws](https://forum.ghost.org/u/Qws)\
**Post date:** [April 1, 2024, 9:48pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/3 "2024-04-01T21:48:14Z")

</div>

Update, I think I am getting closer.

The photos that are not visible on Ghost blog are located in: `/var/www/ghost/content/images/`

The photos that are visible on Ghost blog are located in:  
`/var/www/ghost/current/content/images/`

Kind of confusing, is this a bug? How/why did this happen? What am I supposed to do?

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [April 1, 2024, 11:38pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/4 "2024-04-01T23:38:25Z")

</div>

This looks like a permission problem. Can you check ownership of var/www/ghost and subdirectories within it?

---

<div class="post-metadata">

**Author:** ![Qws](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/qws/32/29696_2.png) [@Qws](https://forum.ghost.org/u/Qws)\
**Post date:** [April 2, 2024, 5:05am UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/5 "2024-04-02T05:05:39Z")

</div>

var/www

```auto
ghost-mgr@ghostonubuntu2204-s-1vcpu-2gb-sfo3-01:/var/www$ ls -l
total 8
drwxrwxr-x 5 ghost-mgr ghost-mgr 4096 Apr 1 17:51 ghost
drwx------ 2 root root 4096 Oct 10 12:42 html

```

var/www/ghost

```auto
ghost-mgr@ghostonubuntu2204-s-1vcpu-2gb-sfo3-01:/var/www/ghost$ ls -l
total 16
-rw-r--r-- 1 ghost-mgr ghost-mgr 878 Apr 1 17:51 config.production.json
drwxr-xr-x 11 ghost ghost 4096 Mar 3 00:57 content
lrwxrwxrwx 1 ghost ghost 30 Mar 3 00:59 current -> /var/www/ghost/versions/5.80.0
drwxr-xr-x 3 ghost ghost 4096 Mar 3 01:02 system
drwxr-xr-x 3 ghost ghost 4096 Mar 3 00:57 versions

```

var/www/ghost/content

```auto
ghost-mgr@ghostonubuntu2204-s-1vcpu-2gb-sfo3-01:/var/www/ghost/content$ ls -l
total 36
drwxr-xr-x 2 ghost ghost 4096 Mar 3 00:57 apps
drwxr-xr-x 2 ghost ghost 4096 Mar 3 00:57 data
drwxr-xr-x 2 ghost ghost 4096 Mar 3 00:57 files
drwxr-xr-x 4 ghost ghost 4096 Mar 3 22:08 images
drwxr-xr-x 2 ghost ghost 4096 Apr 1 16:03 logs
drwxr-xr-x 2 ghost ghost 4096 Mar 3 00:57 media
drwxr-xr-x 4 ghost ghost 4096 Mar 3 01:03 public
drwxr-xr-x 2 ghost ghost 4096 Mar 3 01:03 settings
drwxr-xr-x 2 ghost ghost 4096 Mar 3 00:59 themes

```

var/www/ghost/current

```auto
ghost-mgr@ghostonubuntu2204-s-1vcpu-2gb-sfo3-01:/var/www/ghost/current$ ls -l
total 752
-rwxr-xr-x 1 ghost ghost 1065 Oct 26 1985 LICENSE
-rwxr-xr-x 1 ghost ghost 490 Oct 26 1985 MigratorConfig.js
-rwxr-xr-x 1 ghost ghost 2687 Oct 26 1985 PRIVACY.md
-rwxr-xr-x 1 ghost ghost 5425 Oct 26 1985 README.md
drwxr-xr-x 2 ghost ghost 4096 Mar 3 00:58 components
drwxr-xr-x 10 ghost ghost 4096 Apr 1 22:21 content
drwxr-xr-x 7 ghost ghost 4096 Mar 3 00:58 core
-rwxr-xr-x 1 ghost ghost 673 Oct 26 1985 ghost.js
-rwxr-xr-x 1 ghost ghost 93 Oct 26 1985 index.js
-rwxr-xr-x 1 ghost ghost 743 Oct 26 1985 loggingrc.js
-rwxr-xr-x 1 ghost ghost 1657 Oct 26 1985 newrelic.js
drwxr-xr-x 953 ghost ghost 36864 Mar 3 00:59 node_modules
-rwxr-xr-x 1 ghost ghost 21023 Oct 26 1985 package.json
-rwxr-xr-x 1 ghost ghost 658564 Mar 3 00:59 yarn.lock

```

---

<div class="post-metadata">

**Author:** ![Qws](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/qws/32/29696_2.png) [@Qws](https://forum.ghost.org/u/Qws)\
**Post date:** [April 2, 2024, 10:10pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/6 "2024-04-02T22:10:21Z")

</div>

While my images are visible, I can’t upload new images, why is that?

---

<div class="post-metadata">

**Author:** ![Qws](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/qws/32/29696_2.png) [@Qws](https://forum.ghost.org/u/Qws)\
**Post date:** [April 5, 2024, 4:21pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/7 "2024-04-05T16:21:31Z")

</div>

I managed to fix almost everything…

But really, 3 days offline… such a disaster…

 ![image](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/6/4/64824f34ad5d7192e6ddfe18d35b0d72a22b7cf0.png)

Out of nowhere my blog was rocketing up, rapidly increasing in popularity without breaks, I was super excited… then it went down for 3 days because stupid permission issues because apparently it was a good idea to have such complex permission system.

Such a disappointment, there is no automatic permission reset/fix or transfer ownership, or some hard reset without deleting data. No, I had to manually edit map ownership and permissions, even that didn’t really work, I had to retry and hit my head several times.

Seriously, why this system? If this is my operating system, I don’t need pseudo hierarchy between MY OWN Linux accounts (root, ghost-mgr, another me, systemctl, w/e)…they are all me, or act on behave of me.

There is no safety nets for Ghost blogs that gets corrupted.

I have launched Wordpress blog for friends, no problem. It is reliable and it warns me continuously. Ghost blogs only cares about "mail, subscribers, mail, subscribers, mail, subscribers)… you don’t have to care about how we stay popular or earn money, you only have to care about that the blogs keep running for long as possible. For every day a blog has to go offline is a HUGE fault. Every single day is a colossal damage, shame, stress.

Warn users of making back ups before trying to edit JSON files, instead of screaming about Stripe and Mailgun.

Terrible experience with Ghost, I had always had regard for Ghost for using Node.js and competing Wordpress, but if someone wants to Blog, I will for now recommend Wordpress… ancient and reliable, it warns users al least.

Ghost has its advantage, like beautiful outside, beautiful settings, modern editor… but internal has to be as important.

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [April 5, 2024, 6:30pm UTC](https://forum.ghost.org/t/images-are-not-loading-any-more-on-my-ghost-blog-from-1-click-digitalocean/46235/8 "2024-04-05T18:30:39Z")

</div>

Sounds like a really frustrating experience.

I want to add one piece of context for anyone reading this thread later: you chose to self-host in a digital ocean droplet. They’re cheap and they’re unmanaged. And you’re responsible for your own backups. (There is a button to snapshot the whole droplet — doing so occasionally would have saved you here.) It’s unmanaged, and I wouldn’t recommend it for anyone who isn’t really comfortable doing linux server admin, because that’s what a droplet is - it’s a (virtual) linux server. While I think one-click droplets are a cool idea, in some ways I think it makes it too easy to get Ghost up and running, masking the fact that you’re administering your own (virtual) server.

There are multiple managed hosting options for Ghost. Some of them are excellent, and it would have made all of this your host’s problem.
