Ghost won't send registration e-mails via Mailgun

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!