Getting Heroku's config vars to work in node.js

I have a node app that has a line like this:

var ip = process.env.IP || 'http://localhost';

I am using it with passport-facebook node package to define the callback from Facebook authentication:

passport.use(new FacebookStrategy({
clientID: FACEBOOK_APP_ID,
clientSecret: FACEBOOK_APP_SECRET,
callbackURL: ip + ":" + port + "/auth/facebook/callback"
},
  function(accessToken, refreshToken, profile, done) {
    // asynchronous verification, for effect...
    process.nextTick(function () {
      return done(null, profile);
    });
  }
));

It seems that Heroku doesn't know process.env.IP so I went ahead and defined a config var in Heroku:

heroku config:add process.env.IP=http://app.mydomain.com

Debugging the server I see that ip is not what I want but it's http://localhost same as I defined as the fallback in the first line of code.

How do I get node to read the config var correctly from heroku ?

You want to use heroku config:add IP=http://app.mydomain.com; it defines an environment variable called IP, which you access in Node.js via process.env.IP.