strangely enough, I have the same issue trying deploy on my local pi with docker-compose. I wonder why there is no solution for docker installs as it seems to be a common error with latest update
as I have mentioned earlier, I have the se issue with a local installation using docker-compose and MySQL in a separate container. multiple installations failed with force shut down of Ghost. the last resort would be a Digital ocean droplet…
You can also use “ghost:5.8.2-alpine” as image. This version still uses the sqlite3 as database.
But be aware that is officially is not supported anymore to run in production. Also you will not be able to update the image itself which can lead to security issues in time.
I have tried to run a separate MySQL but this requires a min of 1024 memory and the costs to run this would be to high for me
I’m wondering if there is any way to set the Environment different from Production in the fly.toml. In that way, we can still be using sqlite3, instead of the complexity of MySQL.
I made it work by just adding this to the fly.toml file but it requested me to re-set the password so my blog is still empty so it wasn’t a big deal for me.
Answering my own question:
For the sake of others
MySQL is not part of Ghost’s docker image, so you need to install it separately, when doing that you realize the real issue: MySQl8 needs a lot more RAM than fly.io offers and what most hosting platforms offer. Bare minimum one seemingly needs 2GB RAM
Conclusion: Hosting Ghost on fly.io’s (free tier) is no longer an option