Hi Halpdesk,
As EmpiricalEE noted, Docker doesn’t use a config file for Ghost, it uses environment variables (that you can define in a .env file).
Ghost explains how to use environment variables for your config here. TL;DR, instead of nesting items in JSON, you separate them with double underscores.
Dave Jansen has a great blog post on how to properly deploy Ghost. I made some minor modifications but by-and-large used his setup. It works great.
So:
"mail": {
"options": {
"host": "smtp.mailgun.org",
}
}
would become:
mail__options__host: 'smtp.mailgun.org'
You can see my docker config at:
(I have removed the Matomo portion of that config, but I can share with you over DM if you would like).
Getting Ghost set up with Docker is a bit of a hassle the first time (only because you have to learn Docker), but if you make sure you use volumes, it is a breeze to maintain!! Upgrading Ghost isn’t done through the command line, but is done instead through a simple: docker-compose restart
or a docker-compose down && docker-compose up -d
.
Let me know if you have any additional questions!