{"_id":"nodegod","_rev":"48-6f2231a5142d594bfc7c89875942de12","name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","dist-tags":{"latest":"0.3.3"},"versions":{"0.0.1":{"name":"nodegod","description":"Web interface to node apps, file watch and crash restart by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com"},"version":"0.0.1","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://blog.haraldrudell.com"}],"dependencies":{"express":"< 3","ejs":"","socket.io":"","haraldops":""},"scripts":{"start":"node app"},"_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"_id":"nodegod@0.0.1","devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"0f77143e5846f0b4c5e2a0303eda613c586c1005","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.1.tgz","integrity":"sha512-D7gmyWNzGwutSZ4d+lDyFXFnXsKf4sGmEJcHXHi8EauonQFeonMONvtSU9jivV/EUYKkaloPiKNeX6HlvnMeoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiPfbX99yJSS+QnrUt2CddJOhFxVQoBetZUxizvOAakAiEAwKMUzv6y/6L9+mvru9iQiRAUOCwubNmVUyNaLu6ZLg4="}]},"readme":"","maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.2":{"name":"nodegod","description":"Web interface to node apps, file watch and crash restart by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com"},"version":"0.0.2","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://blog.haraldrudell.com"}],"dependencies":{"ejsinbrowser":"","request":"","express":"< 3","ejs":"","socket.io":"","haraldops":""},"scripts":{"start":"node app"},"_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"_id":"nodegod@0.0.2","devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"faa04d59c44cd47fc4d838f51769e6314841dbb0","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.2.tgz","integrity":"sha512-WNqbD490YJuo+bLskxpWWr7edSbngpL3mF0pF2cQ+nSv1MCohl4uPweSx5+kOTU8B+L/QI/pdTheaKql+ciLGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSZG4QypF0md2nLapoCJGENXspan1ru7iPHKFeONbFFQIgWNBO1Lws39ygYzDvYfsByWo7qV8K5gxEpMsEHsPamhY="}]},"readme":"# Node God\nLaunches node applications, restarts them on crash or file updates, produces a shared log.\n\n# Required Configuration\nConfigured by JSON-files in the filesystem\n\n## Node God itself\n* nodegod.js needs to be in the folder\n\t* $HOME\n\t* $HOME/apps\n\t* the folder were Node God's app.js resides\n\n```js\n{\n\t\"PORT\": 1111,\n\t\"haraldops\": {\n\t},\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n\t\"sessionSecret\": \"verygreat\"\n}\n```\n* PORT: optional number: the port for Node God, ovverriden by env.PORT, default 3000\n* appFiles: required path: where to find json file with app configurations\n* sessionSecret: required string, secret for web session\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored at $HOME/tmp or the global temp folder\n\n## Configuring apps\n\n```js\n{\n\t\"nodejs3\": {\n\t\t\"state\": \"run\",\n\t\t\"name\": \"Node.js #3\",\n\t\t\"watchFiles\": [ \"package.json\", \"app.js\", \"lib\", \"routes\", \"/home/foxyboy/apps/nodejs3.json\" ]\n\t}\n}\n```\n\n* Key: the identifier (computer-friendly string) used for this app, here \"nodejs3.\" This is the name of the default deployment folder for this app\n* state: the initial state of the app: run/stop/debug\n* folder: optional: the folder where the app is deployed, default as described under nodegod settings\n* start: path to the JavaScript launching the app, default app.js\n* name: Human readable app name, defaule is Key\n* watchFiles: a single entry or array of filenames and folders to watch. If any file changes the app is restarted\n\n# Features\n* Web frontend for managing any number of apps\n* App lifecycle management with states and transitions for run/stop/debug\n* App is automatically restarted unless it crashes in less than 3 seconds\n* If app state is crashed, watchers are still active so the app relaunches on update\n* File watchers restart the app after a 3 second delay, so that all file writes have time to complete\n* Ability to reload app configurations as files are added\n* If Node God crashes, it will relaunch managed apps on restart so that they become managed","maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.3":{"name":"nodegod","description":"Web interface to node apps, file watch and crash restart by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com"},"version":"0.0.3","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://blog.haraldrudell.com"}],"dependencies":{"ejsinbrowser":"","request":"","express":"< 3","ejs":"","socket.io":"","haraldops":""},"repository":{"type":"git","url":"git://github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app"},"_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"_id":"nodegod@0.0.3","devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"2ff28f448968b1997494ecd2ba4d77e8462756f8","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.3.tgz","integrity":"sha512-bTWDwbpn1C1B0hayDysHL1/8kzcjvXWT2hdVypKiHw106b0VoEDfjoiLuOZbXL3GdHL+7ZjoiTnWlspHEU69JQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdswzoqEEFrrnzFa0gp3jRbXvULDcKL8qnLA0FGvr7JQIgKCy9yD6tUn7oSWxE1qEi5ukTtvAKSNHSUvdOr2ajaXo="}]},"readme":"","maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.4":{"name":"nodegod","description":"Web interface to node apps, file watch and crash restart by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com"},"version":"0.0.4","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://blog.haraldrudell.com"}],"dependencies":{"ejsinbrowser":"","request":"","express":"< 3","ejs":"","socket.io":"","haraldops":""},"repository":{"type":"git","url":"git://github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app"},"_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"_id":"nodegod@0.0.4","devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"6030e216e9f1b9132b91c38189e9abba2581d89b","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.4.tgz","integrity":"sha512-/DMwEF/L6XlqzAlNod9MYWz1tZfUOmZFgGgZT00tRHStwBCDCXJE0iIbYGHWwtj8/zPgYCvzi3+aLY6tJuF2TA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDphuUY80VdNVOykdXSMbWNhTrbbUmMC73hsBRM/FpGEgIgFU8PzNoIgPzMOLEr4NHJJqb9T33MyeFAHwwGduRKLnM="}]},"readme":"","maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.5":{"name":"nodegod","description":"Web interface to node apps, file watch and crash restart by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com"},"version":"0.0.5","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://blog.haraldrudell.com"}],"dependencies":{"ejsinbrowser":"","request":"","express":"< 3","ejs":"","socket.io":"","haraldops":""},"repository":{"type":"git","url":"git://github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app"},"_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"_id":"nodegod@0.0.5","devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"9c5e032d911ccc98ad539bcb45bfb15300a5e6a6","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.5.tgz","integrity":"sha512-vgWNnxioBqtPsKEe0TNP8ogwj026Tl3mdr28NH6hKqLqoVQMaFqvU93CjpBHfjl2rUOIYDuaQYtWnnxaYLXk7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICCFIWz28iW1gNfTXoRnfMfHCIopcpOUjVzt3LvwlXdBAiBKcoBnZnTZX0BePwS1etO25Fc1JfTZ9DCn8cxtjnzmOw=="}]},"readme":"","maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.6":{"name":"nodegod","description":"Web interface to node apps, file watch and crash restart by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com"},"keywords":["app","management","node","operations"],"version":"0.0.6","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://blog.haraldrudell.com"}],"dependencies":{"ejsinbrowser":"","request":"","express":"< 3","ejs":"","socket.io":"","haraldutil":">= 0.0.6","haraldops":">= 0.1.1"},"repository":{"type":"git","url":"git://github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app"},"_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"_id":"nodegod@0.0.6","devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"fd965e1f70110db7f901f4513c2eb79b27ae5609","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.6.tgz","integrity":"sha512-iz4nQ5xZkyX9mEH1XCpbg8GbXEstEG/eNdEh/m6vdE/t6Nyzwpevy62Oyi/02PprcCYxSfbM5at+eVOeBwehyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC0M5K8A3+0bVESirDXhVKAIMWy3d1YaHX463nzmr9r4AiB0kvTKSrmYcDcpidR8kkiSg91RT+rCx2Dr5npHvG9IxQ=="}]},"readme":"","maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.7":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.0.7","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"greatjson":">= 0.0.8","uglify-js":"","nodeunit":""},"dependencies":{"ejsinbrowser":"*","request":"*","express":"< 3","ejs":"*","socket.io":"*","haraldutil":">= 0.1.5","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"nodeunit test"},"readme":"# Node God\nLaunches node applications, restarts them on crash or file updates, produces a shared log.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Features\n* Web frontend for managing any number of apps.\n* App lifecycle management with states and transitions for run/stop/debug.\n* App is automatically restarted unless it crashes in less than 3 seconds.\n* If app state is crashed, watchers are still active so that a relaunch attempt is done on each file update.\n* File watchers restart the app after a 3 second delay, so that all file writes have time to complete.\n* Ability to reload app configurations as apps are added.\n* If Node God crashes, it will relaunch managed apps on restart so that they again become managed.","_id":"nodegod@0.0.7","dist":{"shasum":"ff3f04c6cede897a85e24ce9df9ea72b90285f03","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.7.tgz","integrity":"sha512-f3L+tZOyxqhaLajDem+p25E7ynOPeBYIrtk+Os1Zn+BZf0chrgFJoLyVeMybqnDJm8kYH+do89D8LmHUHz8hsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIErUyw4iwb+LFfuYD5GYyNeS61GIf2XNob912sLXPdvkAiEAvizOldmHs40qyDHu0GphEaKsGRkxZbpb8EAHvIpAiTg="}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.8":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.0.8","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"greatjson":">= 0.0.8","uglify-js":"","nodeunit":""},"dependencies":{"ejsinbrowser":"*","request":"*","express":"< 3","ejs":"*","socket.io":"*","haraldutil":">= 0.1.5","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"nodeunit test"},"readme":"# Node God\nLaunches node applications, restarts them on crash or file updates, produces a shared log.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Features\n* Web frontend for managing any number of apps.\n* App lifecycle management with states and transitions for run/stop/debug.\n* App is automatically restarted unless it crashes in less than 3 seconds.\n* If app state is crashed, watchers are still active so that a relaunch attempt is done on each file update.\n* File watchers restart the app after a 3 second delay, so that all file writes have time to complete.\n* Ability to reload app configurations as apps are added.\n* If Node God crashes, it will relaunch managed apps on restart so that they again become managed.","_id":"nodegod@0.0.8","dist":{"shasum":"add34c7d9c23186aa1bca15805daba4623b53827","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.8.tgz","integrity":"sha512-KxbuV9aIVtHU8ksSXHV29PMZvkzlDwdITD7JtSqcFvrGM2/+F7sXO7vRXHJ2/QEBXPzelDAZFoXb/SZdVWb6pQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFcjRDr98bFuMlBImVXGmL/1SO8x7jkmyekMbyXocotcAiB37zl4HM7h3g+TUijh/mCHMrEecUS0ptBrZGzVHN5Iew=="}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.9":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.0.9","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":"*"},"dependencies":{"greatjson":">= 0.0.8","request":"*","socket.io":"*","haraldutil":">= 0.1.5","ejsinbrowser":"*","ejs":"*","express":"< 3","apprunner":"*","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"readme":"# Node God\nLaunches node applications, restarts them on crash or file updates, produces a shared log.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Features\n* Web frontend for managing any number of apps.\n* App lifecycle management with states and transitions for run/stop/debug.\n* App is automatically restarted unless it crashes in less than 3 seconds.\n* If app state is crashed, watchers are still active so that a relaunch attempt is done on each file update.\n* File watchers restart the app after a 3 second delay, so that all file writes have time to complete.\n* Ability to reload app configurations as apps are added.\n* If Node God crashes, it will relaunch managed apps on restart so that they again become managed.","_id":"nodegod@0.0.9","dist":{"shasum":"e476809ee340a63fdf5bf98c5017937bcd6ae8d6","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.9.tgz","integrity":"sha512-3KdyYS0hDJanWLLKxtSjnMMQ5CklwmIvmiequxpj18/gRDoywnosQP5LPHmyiAmaaoa98npKa7NQr4KSuQa1bA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDuDkNwpMqeAxuQatCcY7832hcY7qQWKqks6b3HckY7+AiA8ag3dhJ5D765gpI28oXwZqU+RR4uN6Pk71TmA+97Guw=="}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.10":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.0.10","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":"*"},"dependencies":{"greatjson":">= 0.0.8","request":"*","socket.io":"*","haraldutil":">= 0.1.5","ejsinbrowser":"*","ejs":"*","express":"< 3","apprunner":"*","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"readme":"# Node God\nLaunches node applications, restarts them on crash or file updates, produces a shared log.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Features\n* Web frontend for managing any number of apps.\n* App lifecycle management with states and transitions for run/stop/debug.\n* App is automatically restarted unless it crashes in less than 3 seconds.\n* If app state is crashed, watchers are still active so that a relaunch attempt is done on each file update.\n* File watchers restart the app after a 3 second delay, so that all file writes have time to complete.\n* Ability to reload app configurations as apps are added.\n* If Node God crashes, it will relaunch managed apps on restart so that they again become managed.","_id":"nodegod@0.0.10","dist":{"shasum":"f9b425404737c3ddb4c34244d5adf84d9db16a44","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.10.tgz","integrity":"sha512-vHN9WV9IZXngt6N0uVCOBX4BpuRv8CgvAXHnWm+A+vk5BoZsu7aptseRO9IoCEaxD0kz/1wS1BdlTbdz/RocrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH7fVuRjpFQ4UoZJTm1ljfaILC7BOSRGtiASMFMnyiWGAiBXdPj1Q61PVPieJSMCchGyEBom2EryjOH9kgmT0ieV/g=="}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.0.11":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.0.11","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":"*"},"dependencies":{"greatjson":">= 0.0.8","request":"*","socket.io":"*","haraldutil":">= 0.1.5","ejsinbrowser":"*","ejs":"*","express":"< 3","apprunner":"*","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"readme":"# Node God\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\nNode God launches node applications, restarts them on crash or file updates and produces a shared log.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Features\n* Web frontend for managing any number of apps.\n* App lifecycle management with states and transitions for run/stop/debug.\n* App is automatically restarted unless it crashes in less than 3 seconds.\n* If app state is crashed, watchers are still active so that a relaunch attempt is done on each file update.\n* File watchers restart the app after a 3 second delay, so that all file writes have time to complete.\n* Ability to reload app configurations as apps are added.\n* If Node God crashes, it will relaunch managed apps on restart so that they again become managed.","_id":"nodegod@0.0.11","dist":{"shasum":"86328a07550d1eb35a2aedb60d9d500ac1525cb0","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.0.11.tgz","integrity":"sha512-mBRrxtyvEVccTDyq4jK8gPeMONsqZ+fw1n1T5++rYcLh18CwDQPHsJ+syI5fu2pktzthITgfxcdGPOpssXGI4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWafYGdPvYK6ZzoJ5g7PU2KJoGpn8ogdEWYxkLRsJcRwIhAPtYFNWGa5iW9LIs44HZjeTyGypRjPr5zls6/+NbsVYp"}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.1.1":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.1.1","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":"*"},"dependencies":{"greatjson":">= 0.0.8","request":"*","socket.io":"*","haraldutil":">= 0.1.5","ejsinbrowser":"*","ejs":"*","express":"< 3","apprunner":"*","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","_id":"nodegod@0.1.1","dist":{"shasum":"60487dbce6141bcc2c687529b64a6b7752b4b705","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.1.1.tgz","integrity":"sha512-f3yHjupxQ+c+iGDBBCFS9+cPa7/vVde/H0pFTuFEb9NFKTen85JOFVd1q7LkT6+zykdIbsy4hGClIBUAgOlIxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA9lacGI2xbLph+b8NUm8Y3IhGJnTmLzH8jISDObetuaAiEA4Nkk+rPOGlCawEJjVF2TuubjWvSyKaBoi6Q+IE3ra20="}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.1.2":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.1.2","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":"*"},"dependencies":{"greatjson":">= 0.0.8","request":"*","socket.io":"*","haraldutil":">= 0.1.5","ejsinbrowser":"*","ejs":"*","express":"< 3","apprunner":"*","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","_id":"nodegod@0.1.2","dist":{"shasum":"f0eb67e3327c4931f46832d2d6c70c9093101ac7","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.1.2.tgz","integrity":"sha512-RtSUBMR/dWNEPJs6ZMn+2h/WrR6isEgNQzv+AMRdgO8OV14NV3hMC7G4A880SCGyuKfNRMNOgqhwG9vLyJOfNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjb9hUexBMpZVxldopi0QPjWrDB6WkiKnWlACZwVr9wAIgWoLN+6B7pdMEcA/FU9P4KneXxipy03iZZh/hBox7AeA="}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.1.3":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.1.3","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":"*"},"dependencies":{"greatjson":">= 0.0.8","request":"*","socket.io":"*","haraldutil":">= 0.1.5","ejsinbrowser":"*","ejs":"*","express":"< 3","apprunner":"*","haraldops":">= 0.1.3"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","_id":"nodegod@0.1.3","dist":{"shasum":"8ff2f08c7a6db6bfdd8fd657f216fc2a497d801f","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.1.3.tgz","integrity":"sha512-t60touf4ERD84EBzkFsh5oS6VuEeBYzK9zNRpkS14+pjDEV16KiesBiSaEtP0p87t4F5yjr1rT+ZOniaGkj6zw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMCWwZxehFNnRjxC38p3W7YZdK/4zyigvlaxM2oFEbaAiAH09MukyQ2eiyX13g9QDpMYVgCOvCs9Az71TZsbQmwEQ=="}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.2.0":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.2.0","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":"*","socket.io":"*","ejsinbrowser":"*","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.1.6","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","_id":"nodegod@0.2.0","dist":{"shasum":"bc11c34f36d56e0c038dd40ced15c33437b3f502","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.2.0.tgz","integrity":"sha512-dltgYAlZ6ObNBb8ieSjPmpK5J5ICcai4p5nTjPk1sdx5whcrNBQxv+8fgE9nwAGQo1UixPjj70NZTFy8ZnY3OQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5/J6CFsP2E19T3srJHlWYhqkLZ9av7xKHiy3cMhAWHwIhAOLBaKDicWvo5hNXK4vjRYYCtak99IlJhik8X5VSrVuA"}]},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.2.1":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.2.1","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":"*","socket.io":"*","ejsinbrowser":"*","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.1.6","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","readmeFilename":"readme.md","_id":"nodegod@0.2.1","dist":{"shasum":"fca78ed101fe9455bf8cfd212102e0fbeb287b02","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.2.1.tgz","integrity":"sha512-4ItTyXg8cXRbWZNOw1DMIWYrXaKAqid0Y8RqCiutQu+sWROCDmTk3JT+Bz3ylC2iq9SSVF0uWJRJycPGnpxnVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuo4wIvv6lf+x0atQ4If/Jrrk4KYgLyvqexsOyjZiAlwIhAOkogwp9umgQyyNh9kvm4Yh+10bmSn5AM7q8zxgdH0WG"}]},"_npmVersion":"1.2.0","_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.2.2":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","node","operations"],"version":"0.2.2","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":"*","socket.io":"*","ejsinbrowser":"*","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.1.6","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","readmeFilename":"readme.md","_id":"nodegod@0.2.2","dist":{"shasum":"ea931bebb3ac0f1641a3bfd437460988319a3257","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.2.2.tgz","integrity":"sha512-gyUIE+yey4NbrrVnG5L3TwVMYU0ix41ONVd2HmlWwAQZp42fmgPzU2Rz+tHjoIjAV+gt6staE9vwhYEkiI6Ejg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFOnxVq8ZeAymR25wR/ZxuE/AGgRQOMy5s2G9wb/C3/SAiBGcf1AUKXYGyjeKc/eSl0hkgv+n2iXFas9brvRaxsuNA=="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.2.3":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","forever","supervisor","node","sysadmin","tools","operations"],"version":"0.2.3","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":"*","socket.io":"*","ejsinbrowser":"*","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.2.2","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","readmeFilename":"readme.md","_id":"nodegod@0.2.3","dist":{"shasum":"5fa28758d535dc4e77969262a80d21390724e3c1","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.2.3.tgz","integrity":"sha512-IRh3FvTMjtJC5t8Vs4TBh/p3Jg1dUJKCgkoZrjCdJ9STxOBkCmUH2L3La5qbi4PhA8Nleb90ilEf+Ojaa3d3Aw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGjClfJvX+rf/CDWTHRXVT+71pHqKOq1WezOEl/PU3kiAiEAhQW7hASLbVIys/xeheIN/oi1cSAoNUza240OFJoS7FQ="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.3.0":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","forever","supervisor","node","sysadmin","tools","operations"],"version":"0.3.0","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":">= 2.12.1","socket.io":">= 0.9.13","ejsinbrowser":">= 0.0.2","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.2.5","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage","changelog":"git log --format=\"%ad %s\" --date=short"},"engines":{"node":">= 0.8.0"},"readme":"# Node God\n\nNode God manages node applications, restarts them on crash and produces a shared log.\n\n![alt Nodegod Screen Shot](https://raw.github.com/haraldrudell/nodegod/master/images/nodegod.png)\n\n# Benefits\n\n1. **Monitor** a handful of apps on a handful of servers as you work on them\n2. **Immediate glance**: the top bar goes red if any app is in crash state or the connection is lost\n3. **Focus** on your current app by scrolling it into view\n4. **No command line.** Ever.\n\n# Features\n\n1. Launch and **lifecycle management** of any number of apps\n2. **Browser interface** supporting remote machines over ssh tunnel\n3. Websocket communication for **real-time** updates\n4. Command queue and application state and transitions for **run/stop/debug**.\n5. **Restarts** apps automatically until crash within 3 seconds.\n6. If app state is crashed, **file watchers** are still active so that a relaunch attempt is made on file update.\n7. File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.\n8. Ability to reload app configurations as apps are added.\n9. If Node God crashes, it will relaunch managed apps on restart so that they again become managed.\n10. USRSIG2 signal for **graceful shutdown**, implemented by [App Runner](https://github.com/haraldrudell/apprunner)\n11. Aggregation of stdout from many apps to a **common log**.\n12. Fetch of port and url from the app so **direct link** can be displayed in the ui.\n\n# Run as demo\n\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in development mode\n127.0.0.1\n```\n\nopens a browser window that monitors an app that exits every 10 seconds.\n\n# Configuration Files\n\n## nodegod.json\nNode God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:\n* $HOME/apps\n* $HOME\n* Node God's launch folder, where app.js is located\n\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n* PORT: optional number: the port for Node God, defaults to env.PORT or 1111\n* appFiles: optional string or array of strings: filenames to search for app configurations.\n\t* if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched\n\t* default: apps.json in either the noegod.json folder or nodegod's app folder\n* sessionSecret: optional string, has a default value\n* defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located\n\nNote: pids are stored in a file at $HOME/tmp or the global temp folder\n\n## Configuring files for monitored apps\n\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n\n* Key: the name of this app\n* id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"\n* state: optional string: the initial state of the app: run/stop/debug, default run\n* folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.\n* start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder\n* watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted\n* launchBrowser: optional string: url for which a browser window is launched once\n\n# Notes\n\n(c) [Harald Rudell](http://www.haraldrudell.com) wrote this for node in June, 2012\n\nNo warranty expressed or implied. Use at your own risk.\n\nPlease suggest better ways, new features, and possible difficulties on [github](https://github.com/haraldrudell/nodegod)","readmeFilename":"readme.md","_id":"nodegod@0.3.0","dist":{"shasum":"d0f6299ab3bbeb70538c1a4807b8a8896e22af57","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.3.0.tgz","integrity":"sha512-n1SxRdox7aQcaiJKg5MsQWKrZXFsWLxWO8Ffwreif0Mg08SNfCCqDIiH/cAzMYFy2s3LSAZSV1OVt7j8pBQ+LA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCa16I0Ey+rlyAiPZ3F1+YaCPq4/gbCFEi+gErIvJ4tWQIgAL3Xp16n4pdqHwEprpLsduodyAhZJ7959cT1HDp0omQ="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.3.1":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","forever","supervisor","node","sysadmin","tools","operations"],"version":"0.3.1","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":">= 2.12.1","socket.io":">= 0.9.13","ejsinbrowser":">= 0.0.2","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.2.5","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage","changelog":"git log --format=\"%ad %s\" --date=short"},"engines":{"node":">= 0.8.0"},"readme":"<h1>Node God</h1>\n<p>Node God manages node applications</p>\n<img src=https://raw.github.com/haraldrudell/nodegod/master/test/images/nodegod.png alt=\"Nodegod Screen Shot\" />\n<p>&copy; <strong><a href=http://www.haraldrudell.com>Harald Rudell</a></strong> wrote Node God for node in May, 2012. MIT License</p>\n<h1>Benefits</h1>\n<ol>\n<li><strong>Monitor</strong> a handful of apps on a handful of servers as you work on them</li>\n<li><strong>Immediate feedback</strong>: the large top window area goes red if any app is in crash state or the connection is lost</li>\n<li><strong>Focus</strong> on your current app by scrolling it into view</li>\n</ol>\n<h1>Features</h1>\n<ol>\n<li>Launch and <strong>lifecycle management</strong> of any number of apps</li>\n<li><strong>Browser interface</strong> supporting remote machines over ssh tunnel</li>\n<li>Websocket communication for <strong>real-time</strong> updates</li>\n<li>Command queue and application state and transitions for <strong>run/stop/debug</strong>.</li>\n<li><strong>Restarts</strong> apps automatically until crash within 3 seconds.</li>\n<li>If app state is crashed, <strong>file watchers</strong> are still active so that a relaunch attempt is made on file update.</li>\n<li>File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.</li>\n<li>Ability to reload app configurations as apps are added.</li>\n<li>If Node God crashes, it will relaunch managed apps on restart so that they again become managed.</li>\n<li>USRSIG2 signal for <strong>graceful shutdown</strong>, implemented by <a href=https://github.com/haraldrudell/apprunner>App Runner</a></li>\n<li>Aggregation of stdout from many apps to a <strong>common log</strong>.</li>\n<li>Fetch of port and url from the app so <strong>direct link</strong> can be displayed in the ui.</li>\n</ol>\n<p><strong>Node God</strong> is robustly written as four detached processes carefully designed to stay running indefinitely. These processes stay running until you power of your computer.</p>\n\n\n<h1>Run as demo</h1>\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in\ndevelopment mode\n127.0.0.1\n```\n\n<p>Node God opens a browser window that monitors an app that exits every 10 seconds.</p>\n\n\n<h1>Configuration Files</h1>\n\n\n<h2>nodegod.json</h2>\n<p>Node God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:</p>\n<ul>\n<li>$HOME/apps</li>\n<li>$HOME</li>\n<li>Node God's launch folder, where app.js is located</li>\n</ul>\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n<ul>\n<li>PORT: optional number: the port for Node God, defaults to env.PORT or 1111</li>\n<li>appFiles: optional string or array of strings: filenames to search for app configurations.<ul>\n\t<li>if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched</li>\n\t<li>default: apps.json in either the noegod.json folder or nodegod's app folder</li></ul></li>\n<li>sessionSecret: optional string, has a default value</li>\n<li>defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located</li>\n</ul>\n\n\n<h2>Configuring files for monitored apps</h2>\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n<ul>\n<li>Key: the name of this app</li>\n<li>id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"</li>\n<li>state: optional string: the initial state of the app: run/stop/debug, default run</li>\n<li>folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.</li>\n<li>start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder</li>\n<li>watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted</li>\n<li>launchBrowser: optional string: url for which a browser window is launched once</li>\n</ul>\n<p>&copy; <strong><a href=http://www.haraldrudell.com>Harald Rudell</a></strong> wrote Node God for node in May, 2012. MIT License</p>\n</html>\n","readmeFilename":"readme.md","_id":"nodegod@0.3.1","dist":{"shasum":"30ebd47e909c08f23df96ea9b9853ce3a2cc9b3a","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.3.1.tgz","integrity":"sha512-yaKS2ZdM53Az5Jcwfczs794zJ0uek2q6lUKGM7GQnzncrHLbFr/FHMfc2VkTuRkQ3JZbLEH3u7/fqObGfRTIzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXiBM7a8F07aTFMgVaMgzmPkMH3T+7reROYd6DFVUvqwIhALqrr9f53L5frn74F+EqanMGelNll0NHa5gmg0pvjrE6"}]},"_npmVersion":"1.2.0","_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.3.2":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","forever","supervisor","node","sysadmin","tools","operations"],"version":"0.3.2","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":">= 2.12.1","socket.io":">= 0.9.13","ejsinbrowser":">= 0.0.2","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.2.5","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage","changelog":"git log --format=\"%ad %s\" --date=short"},"engines":{"node":">= 0.8.0"},"readme":"<h1>Node God</h1>\n<p>Node God manages node applications</p>\n<img src=https://raw.github.com/haraldrudell/nodegod/master/test/images/nodegod.png alt=\"Nodegod Screen Shot\" />\n<p>&copy; <strong><a href=http://www.haraldrudell.com>Harald Rudell</a></strong> wrote Node God for node in May, 2012. MIT License</p>\n<h1>Benefits</h1>\n<ol>\n<li><strong>Monitor</strong> a handful of apps on a handful of servers as you work on them</li>\n<li><strong>Immediate feedback</strong>: the large top window area goes red if any app is in crash state or the connection is lost</li>\n<li><strong>Focus</strong> on your current app by scrolling it into view</li>\n</ol>\n<h1>Features</h1>\n<ol>\n<li>Launch and <strong>lifecycle management</strong> of any number of apps</li>\n<li><strong>Browser interface</strong> supporting remote machines over ssh tunnel</li>\n<li>Websocket communication for <strong>real-time</strong> updates</li>\n<li>Command queue and application state and transitions for <strong>run/stop/debug</strong>.</li>\n<li><strong>Restarts</strong> apps automatically until crash within 3 seconds.</li>\n<li>If app state is crashed, <strong>file watchers</strong> are still active so that a relaunch attempt is made on file update.</li>\n<li>File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.</li>\n<li>Ability to reload app configurations as apps are added.</li>\n<li>If Node God crashes, it will relaunch managed apps on restart so that they again become managed.</li>\n<li>USRSIG2 signal for <strong>graceful shutdown</strong>, implemented by <a href=https://github.com/haraldrudell/apprunner>App Runner</a></li>\n<li>Aggregation of stdout from many apps to a <strong>common log</strong>.</li>\n<li>Fetch of port and url from the app so <strong>direct link</strong> can be displayed in the ui.</li>\n</ol>\n<p><strong>Node God</strong> is robustly written as four detached processes carefully designed to stay running indefinitely. These processes stay running until you power of your computer.</p>\n\n\n<h1>Run as demo</h1>\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in\ndevelopment mode\n127.0.0.1\n```\n\n<p>Node God opens a browser window that monitors an app that exits every 10 seconds.</p>\n\n\n<h1>Configuration Files</h1>\n\n\n<h2>nodegod.json</h2>\n<p>Node God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:</p>\n<ul>\n<li>$HOME/apps</li>\n<li>$HOME</li>\n<li>Node God's launch folder, where app.js is located</li>\n</ul>\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n<ul>\n<li>PORT: optional number: the port for Node God, defaults to env.PORT or 1111</li>\n<li>appFiles: optional string or array of strings: filenames to search for app configurations.<ul>\n\t<li>if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched</li>\n\t<li>default: apps.json in either the noegod.json folder or nodegod's app folder</li></ul></li>\n<li>sessionSecret: optional string, has a default value</li>\n<li>defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located</li>\n</ul>\n\n\n<h2>Configuring files for monitored apps</h2>\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n<ul>\n<li>Key: the name of this app</li>\n<li>id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"</li>\n<li>state: optional string: the initial state of the app: run/stop/debug, default run</li>\n<li>folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.</li>\n<li>start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder</li>\n<li>watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted</li>\n<li>launchBrowser: optional string: url for which a browser window is launched once</li>\n</ul>\n<p>&copy; <strong><a href=http://www.haraldrudell.com>Harald Rudell</a></strong> wrote Node God for node in May, 2012. MIT License</p>\n</html>\n","readmeFilename":"readme.md","_id":"nodegod@0.3.2","dist":{"shasum":"65e02db11ca393cdd92c80793199c5b21b47ba8e","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.3.2.tgz","integrity":"sha512-E8tedNedVoiV5GC/wLzY9l7iPo1VfMTQEHAwk7oG4r3HHjFqPnssRf1U4BpEYdgiecfME1KoiX/yqEK+UTrzwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMxsjEWJSznIUqZ+sQdjt/a+TB3TZEVTqYwzXnYKz8qQIgdraul3zJCPhxf6hCpWAvWtxhhMbjta5AZWYysFs5AHU="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]},"0.3.3":{"name":"nodegod","description":"Web interface supervising node apps with dashboard and restart on file changes and exits by Harald Rudell","author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"keywords":["app","management","forever","supervisor","node","sysadmin","tools","operations"],"version":"0.3.3","contributors":[{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"}],"devDependencies":{"mochawrapper":">= 0.0.34"},"dependencies":{"request":">= 2.12.1","socket.io":">= 0.9.13","ejsinbrowser":">= 0.0.2","ejs":"*","express":"< 3","greatjson":">= 0.0.8","apprunner":">= 0.2.5","haraldops":">= 0.1.9","haraldutil":">= 0.1.15"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"scripts":{"start":"node app","test":"mocha --ui exports --reporter spec","monitor":"mocha --ui exports --reporter min --watch","debugtest":"mocha --debug-brk --ui exports --reporter spec","coverage":"mochacoverage","changelog":"git log --format=\"%ad %s\" --date=short"},"engines":{"node":">= 0.8.0"},"readme":"<h1>Node God</h1>\n<p>Node God manages node applications</p>\n<img src=https://raw.github.com/haraldrudell/nodegod/master/test/images/nodegod.png alt=\"Nodegod Screen Shot\" />\n<p>&copy; <strong><a href=http://www.haraldrudell.com>Harald Rudell</a></strong> wrote Node God for node in May, 2012. MIT License</p>\n<h1>Benefits</h1>\n<ol>\n<li><strong>Monitor</strong> a handful of apps on a handful of servers as you work on them</li>\n<li><strong>Immediate feedback</strong>: the large top window area goes red if any app is in crash state or the connection is lost</li>\n<li><strong>Focus</strong> on your current app by scrolling it into view</li>\n</ol>\n<h1>Features</h1>\n<ol>\n<li>Launch and <strong>lifecycle management</strong> of any number of apps</li>\n<li><strong>Browser interface</strong> supporting remote machines over ssh tunnel</li>\n<li>Websocket communication for <strong>real-time</strong> updates</li>\n<li>Command queue and application state and transitions for <strong>run/stop/debug</strong>.</li>\n<li><strong>Restarts</strong> apps automatically until crash within 3 seconds.</li>\n<li>If app state is crashed, <strong>file watchers</strong> are still active so that a relaunch attempt is made on file update.</li>\n<li>File watchers restart the app after a 1 second idle time, so that all file writes have time to complete.</li>\n<li>Ability to reload app configurations as apps are added.</li>\n<li>If Node God crashes, it will relaunch managed apps on restart so that they again become managed.</li>\n<li>USRSIG2 signal for <strong>graceful shutdown</strong>, implemented by <a href=https://github.com/haraldrudell/apprunner>App Runner</a></li>\n<li>Aggregation of stdout from many apps to a <strong>common log</strong>.</li>\n<li>Fetch of port and url from the app so <strong>direct link</strong> can be displayed in the ui.</li>\n</ol>\n<p><strong>Node God</strong> is robustly written as four detached processes carefully designed to stay running indefinitely. These processes stay running until you power of your computer.</p>\n\n\n<h1>Run as demo</h1>\n```js\nnodegod$ node app\n\n\n=== 2012-06-23 13:24:21 Node God starting\n   info  - socket.io started\nprocess /home/foxyboy/Desktop/c505/node/nodegod/apps.json\nApplication Node God on node v0.6.14 available on port 1111 in\ndevelopment mode\n127.0.0.1\n```\n\n<p>Node God opens a browser window that monitors an app that exits every 10 seconds.</p>\n\n\n<h1>Configuration Files</h1>\n\n\n<h2>nodegod.json</h2>\n<p>Node God itself is configured using a json file that provides port number, a session secret and the location of other json files containing application configurations. The paths searched for nodegod.json are:</p>\n<ul>\n<li>$HOME/apps</li>\n<li>$HOME</li>\n<li>Node God's launch folder, where app.js is located</li>\n</ul>\n```js\n{\n\t\"appFiles\": \"/home/foxyboy/apps/apps.json\",\n}\n```\n<ul>\n<li>PORT: optional number: the port for Node God, defaults to env.PORT or 1111</li>\n<li>appFiles: optional string or array of strings: filenames to search for app configurations.<ul>\n\t<li>if strings are not fully qualified paths, the folder where  nodegod.json was found or node god's app folder are searched</li>\n\t<li>default: apps.json in either the noegod.json folder or nodegod's app folder</li></ul></li>\n<li>sessionSecret: optional string, has a default value</li>\n<li>defaultFolder: a parent folder for deployed apps, default the parent folder of where nodegod's app.js is located</li>\n</ul>\n\n\n<h2>Configuring files for monitored apps</h2>\n```js\n{\n\t\"Node.js #3\": {\n\t\t\"watchFiles\": [\n\t\t\t\"package.json\",\n\t\t\t\"app.js\",\n\t\t\t\"lib\",\n\t\t\t\"routes\",\n\t\t\t\"/home/foxyboy/apps/nodejs3.json\"\n\t\t]\n\t}\n}\n```\n<ul>\n<li>Key: the name of this app</li>\n<li>id: optional string: the identifier (computer-friendly string) used for this app. default is derived from the app name, for \"Node.js #3\" here it would be \"nodejs3\"</li>\n<li>state: optional string: the initial state of the app: run/stop/debug, default run</li>\n<li>folder: optional path: the folder where the app is deployed. Default is a sibling folder to nodegod, ie. the parent folder of nodegod with id appended.</li>\n<li>start: optional string or array of strings: parameters to the node executable, default app.js in the app's folder</li>\n<li>watchFiles: optional string or array of Strings: filenames and folders to watch. If any file changes the app is restarted</li>\n<li>launchBrowser: optional string: url for which a browser window is launched once</li>\n</ul>\n<p>&copy; <strong><a href=http://www.haraldrudell.com>Harald Rudell</a></strong> wrote Node God for node in May, 2012. MIT License</p>\n</html>\n","readmeFilename":"readme.md","_id":"nodegod@0.3.3","dist":{"shasum":"a27af726c8f6fa9e02e39af1275c6176849f5b5a","tarball":"https://registry.npmjs.org/nodegod/-/nodegod-0.3.3.tgz","integrity":"sha512-CV9lkGvqwSqHnR2By0Q81WDrlwLQp5WGPCgFXC0DH/LSzqfrlbLZWvZz2FXQGeD1/HZ8gEzXllaf2aPGSNzC2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7HQ957lBWQvG9u1Dgvobxe9ugGrCcsNZoqsu7xMm0lgIgF20Ok4aT9qLUVcWsost9MPT60lBnjzbzZrrzBmohAHI="}]},"_npmVersion":"1.1.69","_npmUser":{"name":"haraldrudell","email":"harald@therudells.com"},"maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}]}},"readme":"","maintainers":[{"name":"haraldrudell","email":"harald@therudells.com"}],"time":{"modified":"2022-06-22T02:10:03.345Z","created":"2012-06-19T22:07:43.971Z","0.0.1":"2012-06-19T22:07:45.401Z","0.0.2":"2012-06-20T01:48:49.448Z","0.0.3":"2012-06-23T20:41:55.276Z","0.0.4":"2012-06-23T22:16:30.747Z","0.0.5":"2012-07-03T03:02:04.707Z","0.0.6":"2012-07-24T05:20:36.342Z","0.0.7":"2012-09-04T02:42:34.318Z","0.0.8":"2012-09-10T08:33:17.280Z","0.0.9":"2012-09-11T08:07:33.444Z","0.0.10":"2012-09-15T03:36:21.085Z","0.0.11":"2012-09-20T13:37:11.440Z","0.1.1":"2012-12-22T09:09:35.250Z","0.1.2":"2012-12-25T10:56:51.801Z","0.1.3":"2012-12-30T07:47:41.870Z","0.2.0":"2013-01-10T21:17:27.023Z","0.2.1":"2013-01-12T09:26:41.806Z","0.2.2":"2013-01-13T06:09:12.709Z","0.2.3":"2013-01-15T07:33:21.309Z","0.3.0":"2013-01-21T07:11:54.385Z","0.3.1":"2013-01-26T01:20:39.781Z","0.3.2":"2013-01-29T00:44:08.327Z","0.3.3":"2013-02-02T03:32:18.930Z"},"author":{"name":"Harald Rudell","email":"harald@allgoodapps.com","url":"http://www.haraldrudell.com"},"repository":{"type":"git","url":"https://haraldrudell@github.com/haraldrudell/nodegod.git"},"users":{"fgribreau":true}}