Does Docker really not allow you to set environment variables? That would be a rather strange design choice, if true. And I always took the config requirement of 12factor to mean you keep it out of source control. Store it wherever you want, be it Chef, Capistrano, or just a shell script you use to deploy, but keep it out of your code.