I set a post to be scheduled today at 13:00 UTC. But the time came and went and the post wasn’t published. Not a big deal but I really like the scheduled post feature so would like to figure out what’s wrong with my setup.
- What version of Ghost are you using?
Ghost 1.22.5 from docker (https://hub.docker.com/_/ghost/)
- What configuration?
Docker and Sqlite.
- What errors or information do you see in the console?
Possibly the following is relevant, it happened at the time the publish should’ve happened:
[2018-05-06 13:02:07] ERROR NAME: InternalServerError CODE: ETIMEDOUT MESSAGE: The server has encountered an error. level:critical InternalServerError: The server has encountered an error. at new GhostError (/var/lib/ghost/versions/1.22.5/core/server/lib/common/errors.js:9:26) at /var/lib/ghost/versions/1.22.5/core/server/adapters/scheduling/SchedulingDefault.js:239:34 at Request.callback (/var/lib/ghost/versions/1.22.5/node_modules/superagent/lib/node/index.js:728:3) at ClientRequest.req.once.err (/var/lib/ghost/versions/1.22.5/node_modules/superagent/lib/node/index.js:647:10) at ClientRequest.g (events.js:292:16) at emitOne (events.js:96:13) at ClientRequest.emit (events.js:188:7) at TLSSocket.socketErrorListener (_http_client.js:314:9) at emitOne (events.js:96:13) at TLSSocket.emit (events.js:188:7) at emitErrorNT (net.js:1290:8) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickCallback (internal/process/next_tick.js:104:9) Error: connect ETIMEDOUT 184.108.40.206:443 at Object.exports._errnoException (util.js:1020:11) at exports._exceptionWithHostPort (util.js:1043:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1099:14)
- What steps could someone else take to reproduce the issue you’re having?
Run the Ghost docker container. Schedule a post and wait for the scheduled time to be passed. In my case the post isn’t published.
In my case, the following was true:
- In the admin console, “Stories” lists the story as “will be published today at 13:00”, but that time is already in the past.
- The servertime was correct, as also shown in General > Site Timezone and also in the ssh session of the server (“date” shows the correct UTC time)
- When I “reschedule” the post then, to a few minutes into the future, it immediatly gets published. The “Stories” then lists the post as “Published in 4 minutes”, and then later of course “Published x minutes ago”
So it looks like the publish is triggered, but an error occurs: “Error: connect ETIMEDOUT 220.127.116.11:443”. This is the correct IP address of my server. But I wonder if there’s a problem because this is happening inside a docker container?
I have a docker container for ghost and then a container for nginx. Nginx listens to the outside world on port 443 and is a reverse proxy. The connection between nginx and ghost is over HTTP (no https).
Does anyone have any pointers? Did I miss something with the setup in docker?
Thanks a lot!