❗ Ghost blog fails to start with "Could not communicate with Ghost" and bootstrap socket ECONNREFUSED (Ubuntu 22.04)

I’ve been trying to deploy a production Ghost blog on a clean Ubuntu 22.04 server, but I keep running into issues where the blog won’t start via ghost start. I’ve reinstalled Ghost four times from scratch but keep facing the same error.


:white_check_mark: What I’ve Done:

  • Installed Node.js v20.19.2 via NodeSource
  • Installed MySQL and created a new database
  • Installed Ghost-CLI (v1.27.0)
  • Ran ghost install and everything seemed fine
  • Selected to set up a custom MySQL user
  • Skipped SSL and Nginx config (already had existing config)
  • On ghost start, I get:
✖ Starting Ghost
One or more errors occurred.

1) GhostError

Message: Could not communicate with Ghost
Suggestion: journalctl -u ghost_tobevee-shop -n 50

When I run journalctl -u ghost_tobevee-shop -n 50, it shows:

-- No entries --

Running ghost run gives this:

[INFO] Ghost is running in production...
[INFO] Your site is now available on https://tobevee.shop/
[WARN] Can't connect to the bootstrap socket (localhost 8000) ECONNREFUSED.

It repeats the warning with Tries: 0, Tries: 1, etc., but still continues booting.

Here’s a part of the config.production.json:

"server": {
  "port": 2368,
  "host": "127.0.0.1"
},
"bootstrap-socket": {
  "port": 8000,
  "host": "localhost"
},
"database": {
  "client": "mysql",
  "connection": {
    "host": "127.0.0.1",
    "user": "ghost-244",
    "password": "[hidden]",
    "database": "shayan_prod"
  }
}

Running ghost doctor shows no issues.


:red_question_mark: What I Need Help With:

  • Why is ghost start failing with “Could not communicate with Ghost” even though ghost run works?
  • What is the purpose of the bootstrap socket and why is it failing with ECONNREFUSED?
  • How can I fix this issue so ghost start properly starts the systemd service?

:brain: Other Info:

  • Server specs:
    • OS: Ubuntu 22.04.5 LTS
    • vCPU: 1 core
    • RAM: 2 GB
    • Disk: 20 GB
    • Region: eu-north1
  • Ghost Version: 5.120.0
  • MySQL: Installed and running on localhost, DB is accessible
  • Systemd service exists: /etc/systemd/system/ghost_tobevee-shop.service is present

:link: Domain & Deployment Info:

  • Website URL: https://tobevee.shop
  • Deployed via ghost install with default settings
  • Nginx config already existed for this domain (so skipped during setup)
  • No SSL setup via Ghost (already had it externally)

Any ideas or suggestions would be greatly appreciated. I’m stuck and can’t get the blog to run under systemd (ghost start) even though it boots manually with ghost run. Thanks in advance!

I’ve got the same error before on a server with Ubuntu. I also asked the hoster for help, but no success. On this forum somebody asked a similar question, but they solved the problem by reinstalling nodejs. This solution was not heLpful for me, so I just change vps and run install again, and now no errors.

I changed the vps 3 times but it didn’t run.
Can you help?

If you give me access to a new clean server, and don’t forget to add your domain to servers’ ip. I can try to install, but no any guarantees…

Thank you very much. I found a way myself. I will test it. If it doesn’t work, I will let you know. Thank you.