dpd-openshift-start-script
Node module that wrap around configuring and starting deployd instance on localhost and openshift in a lazy way.
Author: Patryk "ipepe" Ptasiński
Mail: npmjs@ipepe.pl
credits
Based on code: schettino72 http://blog.schettino72.net/posts/mongodb-setup-deployd-heroku.html
license
Apache License v2
changelog
- v2.3.0 - added callback so You know when Deployd is started. Useful for using dpd-internalClient, added changelog to readme
- v2.2.0 - refactored exporting of object, adjusted readme
- v2.1.0 - added dpd-internalClient into returned object
- v2.0.0 - first version of creating real module with export
- v1.1.0 - added optional heroku env strings to uncomment
- v1.0.0 - project started
pre-usage
Install mongodb:
http://docs.mongodb.org/manual/installation/
You should have configured database with login/pass/database name: deployd/deployd/deployd. To configure run in bash:
mongo shell
create user deployd with password deployd in database name: deployd
use admindbuse deployddb
usage for v2.x
MongoDB start (or have you should have it running as a service)
sudo mongod
Create an index.js file in Your project:
// ==================== Load/start dependenciesvar deployd_setup = ;var deployd_instance = ;var colors = deployd_instancecolors; { //some code that requires deployd, maybe some operations on dpd-internalClient? console; deployd_instancedpd_iclogger}
Objects returned:
deployd_instancedeployd = ;deployd_instanceinternalClient = ;deployd_instanceurl = ;deployd_instancecolors = ;deployd_instanceserver_env = processenvNODE_ENV || 'development';deployd_instanceserver_port = processenvOPENSHIFT_NODEJS_PORT || 8080;deployd_instanceserver_ip_address = processenvOPENSHIFT_NODEJS_IP || '127.0.0.1';deployd_instancedb_ip_address = processenvOPENSHIFT_MONGODB_DB_HOST || deployd_instanceserver_ip_address;deployd_instancedb_url_address = processenvOPENSHIFT_MONGODB_DB_URL || 'mongodb://deployd:deployd@'+deployd_instancedb_ip_address+':27017/deployd';deployd_instancedb_parsed_url = deployd_instanceurl; deployd_instanceserver = deployd_instance;//internal client is not defined until deployd server starts, You shouldn't use it before my script runs Your callback.deployd_instancedpd_ic = deployd_instanceinternalClient;
usage for v1.x
You should have mongoDB running in background as a service or in separate terminal window with
sudo mongod
Example code in unix terminal:
mkdir testprojectcd testprojecttouch server.jsnpm initnpm i deployd --savenpm i dpd-openshift-start-script --savecp node_modules/dpd-openshift-start-script/server.js ./mkdir resourcesnode server.js
code inside v2.3
//Author: Patryk "ipepe" Ptasiński npm@ipepe.pl, credit to: schettino72module { var deployd_instance = {}; deployd_instancedeployd = ; deployd_instanceinternalClient = ; deployd_instanceurl = ; deployd_instancecolors = ; // ==================== Server Envs deployd_instanceserver_env = processenvNODE_ENV || 'development'; deployd_instanceserver_port = processenvOPENSHIFT_NODEJS_PORT || 8080; deployd_instanceserver_ip_address = processenvOPENSHIFT_NODEJS_IP || '127.0.0.1'; // ==================== Database Envs deployd_instancedb_ip_address = processenvOPENSHIFT_MONGODB_DB_HOST || deployd_instanceserver_ip_address; // OPENSHIFT DB ADDRESS deployd_instancedb_url_address = processenvOPENSHIFT_MONGODB_DB_URL || 'mongodb://deployd:deployd@'+deployd_instancedb_ip_address+':27017/deployd'; // HEROKU DB ADDRESS // var db_url_address = process.env.MONGOHQ_URL || 'mongodb://deployd:deployd@'+deployd_instance.db_ip_address+':27017/deployd'; deployd_instancedb_parsed_url = deployd_instanceurl; // ==================== Output current app config console; console; console; // ==================== Configure DeployD instance deployd_instanceserver = deployd_instance; // ==================== Listen deployd_instanceserver; deployd_instanceserver; // ==================== Catch Errors deployd_instanceserver; return deployd_instance;};