For more complex applications, you'll want to build up a ``settings.json` object using multiple environment variables.
Client Environment Detection using Meteor Methods
To detect the environment on the server, we have to create a helper method on the server, as the server will determine which environment it is in, and then call the helper method from the client. Basically, we just relay the environment info from the server to the client.
Client Environment Detection using NODE_ENV
As of Meteor 1.3, Meteor now exposes the NODE_ENV variable on the client by default.
Environment Detection on the Server
Environment variables are also available to the server via the process.env object.
Specifying app parameters with METEOR_SETTINGS
The METEOR_SETTINGS environment variable can accept JSON objects, and will expose that object in the Meteor.settings object. First, add a settings.json to your app root with some configuration info.
Then you'll need to launch your application using your settings file.
# run your app in local development mode with a settings file
meteor --settings settings.json
# or bundle and prepare it as if you're running in production
# and specify a settings file
meteor bundle --directory /path/to/output
MONGO_URL="mongodb://127.0.0.1:27017" PORT=3000 METEOR_SETTINGS=$(cat /path/to/settings.json) node main.js
These settings can then be accessed from Meteor.settings and used in your app.