Meteor settings configuration for client when adding after boot

I am trying to deploy my Meteor app to AWS Elastic Beanstalk. They don’t support JSON objects as environment variables so there needs to be a workaround. I am uploading a settings.json file to /tmp/settings.json and saving the path as process.env.METEOR_SETTINGS_FILE then in a server file I do the following:

if (Meteor.isProduction) {
  var meteorFile = process.env.METEOR_SETTINGS_FILE;
  if(meteorFile == undefined) throw new Error(
    'METEOR_SETTINGS_FILE env variable must be defined in production.')
  var fs = Npm.require('fs');
  var pjsonBuf = fs.readFileSync( meteorFile );
  Meteor.settings = JSON.parse( pjsonBuf.toString().trim());
  Meteor.settings.public = Meteor.settings.public;
}

However, on the client I still get Uncaught TypeError: Cannot read property 'writeKey' of undefined where undefined needs to be Meteor.settings.public.segment. I have an empty object as Meteor.settings.public and if I console.log(Meteor.settings) in the file above, they are all there.