An elegant web & terminal interface for Unitech/PM2.
# Features - Curses-like dashboard. - Remoting monitor / web control. - All the heartbeats (no matter **monitor** or **tail (logs)**) are automatic destroyed. - The `PM2` processes are watched by a subscribed emitter. - Communicated with `PM2` through **RPC** socket directly. - Socket.io between client and server. - Monitor CPU and Memory usage of server in a real-time. - Monitor `PM2` processes in a real-time. - PM2 *restart/stop/delete*. - *stopWatch* files before *restart/stop/delete*. - *restartWatch* files before *restart*. - Supports [ANSI color codes](#ss_logs) by [ansi-html](https://github.com/Tjatse/ansi-html). - High performance. In my case, there are near one hundred processes, but `pm2-gui` works without any suck. # Cautions - Web Interface is wrote by CSS3 && HTML5, so view it with the latest version of the browser (WebGL, Animation, WebSocket supports), e.g. Chrome, Safari and Firefox. - I've never test it on Internet Explorer / Windows. # Installation ```bash $ npm install pm2-gui -g $ pm2-gui <cmd> [options] # or $ npm install pm2-gui --production $ cd node_modules/pm2-gui # or (recommends) $ git clone https://github.com/Tjatse/pm2-gui.git $ cd pm2-gui $ npm install --production # run monitor $ ./pm2-gui <cmd> [options] ``` # Usage Run the following command to get usage helps: ```bash $ pm2-gui ```
$ node pm2-gui.js <cmd> [options]
# Configuration Edit the `pm2-gui/pm2-gui.ini` file or copy the [config example](./pm2-gui.ini) to `/etc/pm2-gui.ini` (starting with `pm2-gui start /etc/pm2-gui.ini`): # UI/UX - Amazing and smooth animations. - High performance.
var pm2GUI = require('pm2-gui'); pm2GUI.startWebServer([ini_config_file]); pm2GUI.startAgent([ini_config_file]); pm2GUI.dashboard([ini_config_file]);
Describe Complete Information
CPU && Memory Usage
# Serving apps locally with nginx and custom domain - [simple](examples/nginx/pm.example.com.conf) - [advantage](examples/nginx/pm2.example.com.conf)
$ npm test
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.