Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

81 lines (51 sloc) 1.918 kB


Configuration control for production node deployments


Node-config is a configuration system for Node.js application server deployments. It lets you define a default set of application parameters, and tune them for different runtime environments (development, qa, staging, production, etc.).

Parameters defined by node-config can be monitored and tuned at runtime without bouncing your production servers.

Online documentation is available at

Quick Start

In your project directory, install and verify using npm:

my-project$ npm install config
my-project$ npm test config

Edit the default configuration file (.js, .json, or .yaml):

my-project$ mkdir config 
my-project$ vi config/default.yaml

(example default.yaml file):

  dbHost: localhost
  dbPort: 5984
  dbName: customers

Edit the production configuration file:

my-project$ vi config/production.yaml

(example production.yaml file):

  dbHost: prod-db-server

Use the configuration in your code:

var CONFIG = require('config').Customer;
db.connect(CONFIG.dbHost, CONFIG.dbPort, CONFIG.dbName);

Start your application server:

my-project$ export NODE_ENV=production
my-project$ node app.js

Running in this configuration, CONFIG.dbPort and CONFIG.dbName will come from the default.yaml file, and CONFIG.dbHost will come from the production.yaml file.

See Also

node-config - Online documentation
node-monitor - Monitor your running node applications


Released under the Apache License 2.0

See LICENSE file.

Copyright (c) 2011 Loren West

Jump to Line
Something went wrong with that request. Please try again.