I tried to update to 3.0.1 but am having issues getting Ghost to start again, using ghost start, or ghost restart.
ghost start
+ sudo systemctl is-active ghost_brettdewoody-com
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
+ sudo systemctl is-active ghost_brettdewoody-com
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
+ sudo systemctl start ghost_brettdewoody-com
+ sudo systemctl stop ghost_brettdewoody-com
✖ Starting Ghost
A GhostError occurred.
Message: Could not communicate with Ghost
Suggestion: journalctl -u ghost_brettdewoody-com -n 50
The logs a series of these:
ghost_brettdewoody-com.service: Service hold-off time over, scheduling restart.
Stopped Ghost systemd service for blog: brettdewoody-com.
Started Ghost systemd service for blog: brettdewoody-com.
ghost_brettdewoody-com.service: Main process exited, code=exited, status=203/EXEC
ghost_brettdewoody-com.service: Unit entered failed state.
ghost_brettdewoody-com.service: Failed with result 'exit-code'.
I have also updated Node to 10.13.9 recently. Here’s the path to Node and Ghost:
FWIW, I ran into the same and I think it’s a case of a particularly misleading error message from systemctl, plus an opportunity to surface that output better from Ghost perhaps. If you run the command directly (where <name of your site> is the name you’d see in the output of ghost start):
$ sudo systemctl start <name of your site>
In my case, this gave the actual error:
Warning: The unit file, source configuration file or drop-ins of ghost_krycho-com-1.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.
(Note that because of the configuration, you actually need to run sudo systemctl daemon-reload; otherwise you’re apt to see errors like “The name org.freedesktop.PolicyKit1 was not provided by any .service files”.)
After running sudo systemctl daemon-reload, try running ghost start again. In my case at least, this solved the problem.
As far as I can tell, this happens if Ghost updates the service definition (<the Ghost install directory>/system/files/<your site name>.system) but doesn’t (successfully) reload the systemctl daemon. You’ll see the same if you for some reason need to edit that file to specify a different node or Ghost binary path and fail to restart it manually yourself.