ezpm2gui 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +295 -295
  2. package/bin/ezpm2gui.js +8 -8
  3. package/bin/ezpm2gui.ts +51 -51
  4. package/bin/generate-ecosystem.js +35 -35
  5. package/bin/generate-ecosystem.ts +56 -56
  6. package/dist/index.js +1 -1
  7. package/dist/server/config/project-configs.json +236 -0
  8. package/dist/server/index.js +212 -25
  9. package/dist/server/routes/deployApplication.js +6 -5
  10. package/dist/server/routes/remoteConnections.js +260 -0
  11. package/dist/server/routes/updates.d.ts +3 -0
  12. package/dist/server/routes/updates.js +135 -0
  13. package/dist/server/utils/remote-connection.d.ts +18 -0
  14. package/dist/server/utils/remote-connection.js +216 -9
  15. package/package.json +73 -71
  16. package/scripts/postinstall.js +36 -36
  17. package/src/client/build/asset-manifest.json +6 -6
  18. package/src/client/build/favicon.ico +2 -2
  19. package/src/client/build/index.html +1 -1
  20. package/src/client/build/logo192.svg +7 -7
  21. package/src/client/build/logo512.svg +7 -7
  22. package/src/client/build/manifest.json +24 -24
  23. package/src/client/build/static/css/main.2d095544.css +5 -0
  24. package/src/client/build/static/css/main.2d095544.css.map +1 -0
  25. package/src/client/build/static/js/main.17e17668.js +3 -0
  26. package/src/client/build/static/js/main.17e17668.js.map +1 -0
  27. package/dist/server/config/cron-jobs.json +0 -1
  28. package/dist/server/config/remote-connections.json +0 -3
  29. package/dist/server/daemon/ezpm2gui.err.log +0 -414
  30. package/dist/server/daemon/ezpm2gui.exe +0 -0
  31. package/dist/server/daemon/ezpm2gui.exe.config +0 -6
  32. package/dist/server/daemon/ezpm2gui.out.log +0 -289
  33. package/dist/server/daemon/ezpm2gui.wrapper.log +0 -172
  34. package/dist/server/daemon/ezpm2gui.xml +0 -32
  35. package/src/client/build/static/css/main.c506cba5.css +0 -5
  36. package/src/client/build/static/css/main.c506cba5.css.map +0 -1
  37. package/src/client/build/static/js/main.5278cddd.js +0 -3
  38. package/src/client/build/static/js/main.5278cddd.js.map +0 -1
  39. /package/src/client/build/static/js/{main.5278cddd.js.LICENSE.txt → main.17e17668.js.LICENSE.txt} +0 -0
package/README.md CHANGED
@@ -1,295 +1,295 @@
1
- # EZ PM2 GUI
2
-
3
- A modern web-based graphical user interface for the PM2 process manager, built with TypeScript, Tailwind CSS, and React.
4
-
5
- ## Features
6
-
7
- - **Real-time process monitoring** - Keep track of all your PM2 processes in real-time
8
- - **Process management** - Start, stop, restart, and delete processes with one click
9
- - **System metrics dashboard** - Monitor CPU, memory usage, and uptime
10
- - **Enhanced log streaming** - View and filter logs from multiple processes simultaneously
11
- - **WebSocket for live updates** - Get instant updates without refreshing
12
- - **Process CPU and memory charts** - Visualize performance metrics over time
13
- - **Filter processes by status or name** - Quickly find the processes you need
14
- - **Dark/light mode** - Fully supported across all pages with Tailwind CSS
15
- - **Cluster management** - Easily scale your Node.js applications
16
- - **Application deployment** - Deploy new applications directly from the UI
17
- - **Ecosystem configuration** - Create and manage your PM2 ecosystem files
18
- - **PM2 modules support** - Manage and configure PM2 modules
19
- - **Cron Jobs** - Schedule and manage automated tasks with visual cron expression builder
20
- - **Remote Server Management** - Connect and manage PM2 on remote servers via SSH
21
- - **Advanced Monitoring Dashboard** - Real-time performance charts with health scoring
22
- - **Tailwind CSS UI** - Sleek, compact, and responsive design with consistent dark/light theming
23
- - **Fully typed with TypeScript** - Robust and maintainable codebase
24
-
25
- ## Detailed Features
26
-
27
- ### Process Monitoring
28
- Monitor all your PM2 processes in real-time with detailed information on CPU usage, memory consumption, uptime, and status. The intuitive interface makes it easy to identify issues at a glance.
29
-
30
- ### Remote Server Management
31
- Connect to and manage PM2 processes on remote servers via secure SSH connections:
32
- - Add multiple remote server connections with SSH credentials
33
- - View and manage processes on remote servers
34
- - Stream logs from remote processes in real-time
35
- - Execute PM2 commands on remote machines
36
- - Encrypted credential storage for security
37
-
38
- ### Cron Jobs
39
- Schedule and automate tasks using PM2's cron restart feature:
40
- - Visual cron expression builder with common presets
41
- - Support for Node.js, Python, Shell, and .NET scripts
42
- - Inline script editor or file-based execution
43
- - Enable/disable jobs without deleting them
44
- - View next execution times and job status
45
-
46
- ### Advanced Monitoring Dashboard
47
- Get deeper insights into your system and process performance:
48
- - Real-time performance charts for CPU, memory, and load
49
- - System health score calculation
50
- - Historical metrics tracking
51
- - Process alerts for high resource usage
52
- - Per-process performance visualization
53
-
54
- ### Application Deployment
55
- Deploy new Node.js applications to PM2 directly from the UI. Configure all the necessary options including:
56
- - Application name and script path
57
- - Working directory
58
- - Number of instances for load balancing
59
- - Execution mode (fork or cluster)
60
- - Auto-restart options
61
- - Memory threshold for restarts
62
- - Environment variables
63
-
64
- ### Cluster Management
65
- Easily scale your Node.js applications with the cluster management interface. Add or remove instances on the fly and switch between fork and cluster execution modes for optimal performance.
66
-
67
- ### Log Streaming
68
- View and filter logs from multiple processes simultaneously with the enhanced log streaming interface. Features include:
69
- - Real-time log updates via WebSocket
70
- - Filtering by process, log level, or content
71
- - Pausing and resuming log streams
72
- - Download logs for offline analysis
73
- - Floating log panel for remote process logs
74
-
75
- ### Ecosystem Configuration
76
- Generate and manage PM2 ecosystem configuration files directly from the UI. This makes it easy to set up complex application deployments and share configurations across your team.
77
-
78
- ### PM2 Modules
79
- Manage and configure PM2 modules to extend the functionality of your PM2 installation. Install, update, and remove modules with a few clicks.
80
-
81
- ### System Metrics
82
- Monitor key system metrics including:
83
- - CPU usage and number of cores
84
- - Memory usage and availability
85
- - System uptime
86
- - Load averages (1, 5, and 15 minutes)
87
-
88
- ### User Interface
89
- ezPM2GUI uses Tailwind CSS for a sleek, compact, and fully responsive interface:
90
- - Dark and light mode support across all pages
91
- - Consistent color theming with smooth transitions
92
- - Compact layout with small fonts and reduced spacing for information density
93
- - `PageHeader` and `LogStatusBar` reusable components for a consistent look
94
- - Configure dashboard refresh intervals and log display settings from Settings
95
-
96
- ## Installation
97
-
98
- ### Global Installation
99
-
100
- ```bash
101
- npm install -g ezpm2gui
102
- ```
103
-
104
- ### Local Installation
105
-
106
- ```bash
107
- npm install ezpm2gui
108
- ```
109
-
110
- ## Usage
111
-
112
- ### As a Command Line Tool (Global Installation)
113
-
114
- ```bash
115
- # Start the ezPM2GUI web interface
116
- ezpm2gui
117
-
118
- # Start on a specific port
119
- ezpm2gui --port 4000
120
-
121
- # Start bound to all network interfaces
122
- ezpm2gui --host 0.0.0.0
123
-
124
- # Generate a sample PM2 ecosystem config
125
- ezpm2gui-generate-ecosystem
126
- ```
127
-
128
- ### As a Module (Local Installation)
129
-
130
- ```javascript
131
- const ezpm2gui = require('ezpm2gui');
132
-
133
- // Start the server with default options
134
- ezpm2gui.start();
135
-
136
- // Or with custom options
137
- ezpm2gui.start({
138
- port: 3030,
139
- host: '0.0.0.0'
140
- });
141
- ```
142
-
143
- ### Access the UI
144
-
145
- Once started, open your browser and navigate to:
146
-
147
- ```
148
- http://localhost:3001
149
- ```
150
-
151
- ## Requirements
152
-
153
- - Node.js 16.x or later
154
- - PM2 installed globally (`npm install -g pm2`)
155
-
156
- ## Configuration
157
-
158
- ezPM2GUI uses environment variables for configuration:
159
-
160
- - `PORT`: The port to run the server on (default: 3001)
161
- - `HOST`: The host to bind to (default: localhost)
162
-
163
- ## Load Balancing with PM2
164
-
165
- ezPM2GUI provides an easy interface to manage PM2's load balancing capabilities:
166
-
167
- ### Setting Up Load Balancing
168
-
169
- 1. **Deploy a new application or modify an existing one**:
170
- - Set the number of instances to greater than 1 (or 0/-1 for max instances based on CPU cores)
171
- - Choose "Cluster" as the execution mode for optimal load balancing
172
-
173
- 2. **Manage your cluster**:
174
- - Use the Cluster Management section to scale instances up or down
175
- - Switch between fork and cluster execution modes
176
- - Reload all instances with zero downtime
177
-
178
- ### How Load Balancing Works
179
-
180
- PM2 provides built-in load balancing when you run your Node.js applications in cluster mode with multiple instances:
181
-
182
- - **Cluster Mode**: In this mode, PM2 uses Node.js's cluster module to create multiple worker processes that share the same server port
183
- - **Multiple Instances**: Incoming requests are automatically distributed across your instances
184
- - **Zero Downtime Reloads**: When updating your application, PM2 can reload instances one by one to avoid downtime
185
-
186
- ### Best Practices
187
-
188
- - For CPU-intensive applications, use a number of instances equal to the number of CPU cores
189
- - For I/O-intensive applications, you can use more instances than CPU cores
190
- - Always use cluster mode for load balancing to ensure port sharing between instances
191
- - Use the reload feature instead of restart for zero-downtime deployments
192
-
193
- ## Development
194
-
195
- See [DEVELOPMENT.md](DEVELOPMENT.md) for detailed development instructions.
196
-
197
- ```bash
198
- # Clone the repository
199
- git clone https://github.com/thechandanbhagat/ezpm2gui.git
200
- cd ezpm2gui
201
-
202
- # Install dependencies and build
203
- ./install.sh # On Linux/macOS
204
- install.bat # On Windows
205
-
206
- # Start in development mode
207
- npm run dev
208
-
209
- # Build the application
210
- npm run build
211
-
212
- # Start the application (production mode)
213
- npm start
214
- ```
215
-
216
- ### Project Structure
217
-
218
- ```
219
- ezpm2gui/
220
- ├── bin/ # CLI entry points
221
- ├── dist/ # Compiled output
222
- ├── docs/ # Documentation
223
- ├── screenshots/ # Application screenshots
224
- ├── scripts/ # Build and utility scripts
225
- ├── src/ # Source code
226
- │ ├── client/ # React frontend
227
- │ │ ├── public/ # Static assets
228
- │ │ └── src/ # React components and logic
229
- │ │ ├── components/ # UI components
230
- │ │ └── types/ # TypeScript types for client
231
- │ ├── server/ # Express backend
232
- │ │ ├── routes/ # API routes
233
- │ │ └── utils/ # Server utilities
234
- │ └── types/ # Shared TypeScript types
235
- └── test/ # Test files
236
- ```
237
-
238
- ## Contributing
239
-
240
- Contributions are welcome! Please feel free to submit a Pull Request.
241
-
242
- 1. Fork the repository
243
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
244
- 3. Make your changes
245
- 4. Run the tests to ensure everything works
246
- 5. Commit your changes using our [commit guidelines](./docs/COMMIT_GUIDE.md)
247
- 6. Push to the branch (`git push origin feature/amazing-feature`)
248
- 7. Open a Pull Request
249
-
250
- ### Coding Style
251
-
252
- This project follows standardized TypeScript conventions and uses ESLint for code quality. Before submitting a pull request, please ensure your code follows these guidelines by running:
253
-
254
- ```bash
255
- npm run lint
256
- ```
257
-
258
- ## FAQ
259
-
260
- ### Q: How does ezPM2GUI differ from pm2-gui and PM2 Plus?
261
-
262
- A: ezPM2GUI is a modern, TypeScript-based alternative to pm2-gui with a more user-friendly interface and additional features. Unlike PM2 Plus, it's completely free and open-source, running locally on your server rather than in the cloud.
263
-
264
- ### Q: Can I use ezPM2GUI with PM2 running on a different machine?
265
-
266
- A: Yes, you can configure ezPM2GUI to connect to a remote PM2 installation. You'll need to specify the connection details in the application settings.
267
-
268
- ### Q: How do I generate an ecosystem file from my existing processes?
269
-
270
- A: Use the `ezpm2gui-generate-ecosystem` command-line tool, or visit the Ecosystem Config section in the web UI.
271
-
272
- ### Q: Can ezPM2GUI handle a large number of processes?
273
-
274
- A: Yes, ezPM2GUI is designed to handle dozens of processes efficiently. The UI is optimized to present large amounts of information in a digestible format.
275
-
276
- ### Q: Is ezPM2GUI secure?
277
-
278
- A: By default, ezPM2GUI binds to localhost for security reasons. If you expose the interface to other machines, consider adding authentication through a reverse proxy like Nginx.
279
-
280
- ## Related Projects
281
-
282
- - [PM2](https://github.com/Unitech/pm2) - The process manager that ezPM2GUI works with
283
- - [pm2-gui](https://github.com/Tjatse/pm2-gui) - The original inspiration for this project
284
-
285
- ## License
286
-
287
- ISC
288
-
289
- ## Credits
290
-
291
- Built by [Chandan Bhagat](https://github.com/thechandanbhagat) as a modern alternative to pm2-gui.
292
-
293
- ---
294
-
295
- **Note**: ezPM2GUI is not officially affiliated with PM2 or PM2 Plus. It's an independent tool that interfaces with the PM2 process manager.
1
+ # EZ PM2 GUI
2
+
3
+ A modern web-based graphical user interface for the PM2 process manager, built with TypeScript, Tailwind CSS, and React.
4
+
5
+ ## Features
6
+
7
+ - **Real-time process monitoring** - Keep track of all your PM2 processes in real-time
8
+ - **Process management** - Start, stop, restart, and delete processes with one click
9
+ - **System metrics dashboard** - Monitor CPU, memory usage, and uptime
10
+ - **Enhanced log streaming** - View and filter logs from multiple processes simultaneously
11
+ - **WebSocket for live updates** - Get instant updates without refreshing
12
+ - **Process CPU and memory charts** - Visualize performance metrics over time
13
+ - **Filter processes by status or name** - Quickly find the processes you need
14
+ - **Dark/light mode** - Fully supported across all pages with Tailwind CSS
15
+ - **Cluster management** - Easily scale your Node.js applications
16
+ - **Application deployment** - Deploy new applications directly from the UI
17
+ - **Ecosystem configuration** - Create and manage your PM2 ecosystem files
18
+ - **PM2 modules support** - Manage and configure PM2 modules
19
+ - **Cron Jobs** - Schedule and manage automated tasks with visual cron expression builder
20
+ - **Remote Server Management** - Connect and manage PM2 on remote servers via SSH
21
+ - **Advanced Monitoring Dashboard** - Real-time performance charts with health scoring
22
+ - **Tailwind CSS UI** - Sleek, compact, and responsive design with consistent dark/light theming
23
+ - **Fully typed with TypeScript** - Robust and maintainable codebase
24
+
25
+ ## Detailed Features
26
+
27
+ ### Process Monitoring
28
+ Monitor all your PM2 processes in real-time with detailed information on CPU usage, memory consumption, uptime, and status. The intuitive interface makes it easy to identify issues at a glance.
29
+
30
+ ### Remote Server Management
31
+ Connect to and manage PM2 processes on remote servers via secure SSH connections:
32
+ - Add multiple remote server connections with SSH credentials
33
+ - View and manage processes on remote servers
34
+ - Stream logs from remote processes in real-time
35
+ - Execute PM2 commands on remote machines
36
+ - Encrypted credential storage for security
37
+
38
+ ### Cron Jobs
39
+ Schedule and automate tasks using PM2's cron restart feature:
40
+ - Visual cron expression builder with common presets
41
+ - Support for Node.js, Python, Shell, and .NET scripts
42
+ - Inline script editor or file-based execution
43
+ - Enable/disable jobs without deleting them
44
+ - View next execution times and job status
45
+
46
+ ### Advanced Monitoring Dashboard
47
+ Get deeper insights into your system and process performance:
48
+ - Real-time performance charts for CPU, memory, and load
49
+ - System health score calculation
50
+ - Historical metrics tracking
51
+ - Process alerts for high resource usage
52
+ - Per-process performance visualization
53
+
54
+ ### Application Deployment
55
+ Deploy new Node.js applications to PM2 directly from the UI. Configure all the necessary options including:
56
+ - Application name and script path
57
+ - Working directory
58
+ - Number of instances for load balancing
59
+ - Execution mode (fork or cluster)
60
+ - Auto-restart options
61
+ - Memory threshold for restarts
62
+ - Environment variables
63
+
64
+ ### Cluster Management
65
+ Easily scale your Node.js applications with the cluster management interface. Add or remove instances on the fly and switch between fork and cluster execution modes for optimal performance.
66
+
67
+ ### Log Streaming
68
+ View and filter logs from multiple processes simultaneously with the enhanced log streaming interface. Features include:
69
+ - Real-time log updates via WebSocket
70
+ - Filtering by process, log level, or content
71
+ - Pausing and resuming log streams
72
+ - Download logs for offline analysis
73
+ - Floating log panel for remote process logs
74
+
75
+ ### Ecosystem Configuration
76
+ Generate and manage PM2 ecosystem configuration files directly from the UI. This makes it easy to set up complex application deployments and share configurations across your team.
77
+
78
+ ### PM2 Modules
79
+ Manage and configure PM2 modules to extend the functionality of your PM2 installation. Install, update, and remove modules with a few clicks.
80
+
81
+ ### System Metrics
82
+ Monitor key system metrics including:
83
+ - CPU usage and number of cores
84
+ - Memory usage and availability
85
+ - System uptime
86
+ - Load averages (1, 5, and 15 minutes)
87
+
88
+ ### User Interface
89
+ ezPM2GUI uses Tailwind CSS for a sleek, compact, and fully responsive interface:
90
+ - Dark and light mode support across all pages
91
+ - Consistent color theming with smooth transitions
92
+ - Compact layout with small fonts and reduced spacing for information density
93
+ - `PageHeader` and `LogStatusBar` reusable components for a consistent look
94
+ - Configure dashboard refresh intervals and log display settings from Settings
95
+
96
+ ## Installation
97
+
98
+ ### Global Installation
99
+
100
+ ```bash
101
+ npm install -g ezpm2gui
102
+ ```
103
+
104
+ ### Local Installation
105
+
106
+ ```bash
107
+ npm install ezpm2gui
108
+ ```
109
+
110
+ ## Usage
111
+
112
+ ### As a Command Line Tool (Global Installation)
113
+
114
+ ```bash
115
+ # Start the ezPM2GUI web interface
116
+ ezpm2gui
117
+
118
+ # Start on a specific port
119
+ ezpm2gui --port 4000
120
+
121
+ # Start bound to all network interfaces
122
+ ezpm2gui --host 0.0.0.0
123
+
124
+ # Generate a sample PM2 ecosystem config
125
+ ezpm2gui-generate-ecosystem
126
+ ```
127
+
128
+ ### As a Module (Local Installation)
129
+
130
+ ```javascript
131
+ const ezpm2gui = require('ezpm2gui');
132
+
133
+ // Start the server with default options
134
+ ezpm2gui.start();
135
+
136
+ // Or with custom options
137
+ ezpm2gui.start({
138
+ port: 3030,
139
+ host: '0.0.0.0'
140
+ });
141
+ ```
142
+
143
+ ### Access the UI
144
+
145
+ Once started, open your browser and navigate to:
146
+
147
+ ```
148
+ http://localhost:3001
149
+ ```
150
+
151
+ ## Requirements
152
+
153
+ - Node.js 16.x or later
154
+ - PM2 installed globally (`npm install -g pm2`)
155
+
156
+ ## Configuration
157
+
158
+ ezPM2GUI uses environment variables for configuration:
159
+
160
+ - `PORT`: The port to run the server on (default: 3001)
161
+ - `HOST`: The host to bind to (default: localhost)
162
+
163
+ ## Load Balancing with PM2
164
+
165
+ ezPM2GUI provides an easy interface to manage PM2's load balancing capabilities:
166
+
167
+ ### Setting Up Load Balancing
168
+
169
+ 1. **Deploy a new application or modify an existing one**:
170
+ - Set the number of instances to greater than 1 (or 0/-1 for max instances based on CPU cores)
171
+ - Choose "Cluster" as the execution mode for optimal load balancing
172
+
173
+ 2. **Manage your cluster**:
174
+ - Use the Cluster Management section to scale instances up or down
175
+ - Switch between fork and cluster execution modes
176
+ - Reload all instances with zero downtime
177
+
178
+ ### How Load Balancing Works
179
+
180
+ PM2 provides built-in load balancing when you run your Node.js applications in cluster mode with multiple instances:
181
+
182
+ - **Cluster Mode**: In this mode, PM2 uses Node.js's cluster module to create multiple worker processes that share the same server port
183
+ - **Multiple Instances**: Incoming requests are automatically distributed across your instances
184
+ - **Zero Downtime Reloads**: When updating your application, PM2 can reload instances one by one to avoid downtime
185
+
186
+ ### Best Practices
187
+
188
+ - For CPU-intensive applications, use a number of instances equal to the number of CPU cores
189
+ - For I/O-intensive applications, you can use more instances than CPU cores
190
+ - Always use cluster mode for load balancing to ensure port sharing between instances
191
+ - Use the reload feature instead of restart for zero-downtime deployments
192
+
193
+ ## Development
194
+
195
+ See [DEVELOPMENT.md](DEVELOPMENT.md) for detailed development instructions.
196
+
197
+ ```bash
198
+ # Clone the repository
199
+ git clone https://github.com/thechandanbhagat/ezpm2gui.git
200
+ cd ezpm2gui
201
+
202
+ # Install dependencies and build
203
+ ./install.sh # On Linux/macOS
204
+ install.bat # On Windows
205
+
206
+ # Start in development mode
207
+ npm run dev
208
+
209
+ # Build the application
210
+ npm run build
211
+
212
+ # Start the application (production mode)
213
+ npm start
214
+ ```
215
+
216
+ ### Project Structure
217
+
218
+ ```
219
+ ezpm2gui/
220
+ ├── bin/ # CLI entry points
221
+ ├── dist/ # Compiled output
222
+ ├── docs/ # Documentation
223
+ ├── screenshots/ # Application screenshots
224
+ ├── scripts/ # Build and utility scripts
225
+ ├── src/ # Source code
226
+ │ ├── client/ # React frontend
227
+ │ │ ├── public/ # Static assets
228
+ │ │ └── src/ # React components and logic
229
+ │ │ ├── components/ # UI components
230
+ │ │ └── types/ # TypeScript types for client
231
+ │ ├── server/ # Express backend
232
+ │ │ ├── routes/ # API routes
233
+ │ │ └── utils/ # Server utilities
234
+ │ └── types/ # Shared TypeScript types
235
+ └── test/ # Test files
236
+ ```
237
+
238
+ ## Contributing
239
+
240
+ Contributions are welcome! Please feel free to submit a Pull Request.
241
+
242
+ 1. Fork the repository
243
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
244
+ 3. Make your changes
245
+ 4. Run the tests to ensure everything works
246
+ 5. Commit your changes using our [commit guidelines](./docs/COMMIT_GUIDE.md)
247
+ 6. Push to the branch (`git push origin feature/amazing-feature`)
248
+ 7. Open a Pull Request
249
+
250
+ ### Coding Style
251
+
252
+ This project follows standardized TypeScript conventions and uses ESLint for code quality. Before submitting a pull request, please ensure your code follows these guidelines by running:
253
+
254
+ ```bash
255
+ npm run lint
256
+ ```
257
+
258
+ ## FAQ
259
+
260
+ ### Q: How does ezPM2GUI differ from pm2-gui and PM2 Plus?
261
+
262
+ A: ezPM2GUI is a modern, TypeScript-based alternative to pm2-gui with a more user-friendly interface and additional features. Unlike PM2 Plus, it's completely free and open-source, running locally on your server rather than in the cloud.
263
+
264
+ ### Q: Can I use ezPM2GUI with PM2 running on a different machine?
265
+
266
+ A: Yes, you can configure ezPM2GUI to connect to a remote PM2 installation. You'll need to specify the connection details in the application settings.
267
+
268
+ ### Q: How do I generate an ecosystem file from my existing processes?
269
+
270
+ A: Use the `ezpm2gui-generate-ecosystem` command-line tool, or visit the Ecosystem Config section in the web UI.
271
+
272
+ ### Q: Can ezPM2GUI handle a large number of processes?
273
+
274
+ A: Yes, ezPM2GUI is designed to handle dozens of processes efficiently. The UI is optimized to present large amounts of information in a digestible format.
275
+
276
+ ### Q: Is ezPM2GUI secure?
277
+
278
+ A: By default, ezPM2GUI binds to localhost for security reasons. If you expose the interface to other machines, consider adding authentication through a reverse proxy like Nginx.
279
+
280
+ ## Related Projects
281
+
282
+ - [PM2](https://github.com/Unitech/pm2) - The process manager that ezPM2GUI works with
283
+ - [pm2-gui](https://github.com/Tjatse/pm2-gui) - The original inspiration for this project
284
+
285
+ ## License
286
+
287
+ ISC
288
+
289
+ ## Credits
290
+
291
+ Built by [Chandan Bhagat](https://github.com/thechandanbhagat) as a modern alternative to pm2-gui.
292
+
293
+ ---
294
+
295
+ **Note**: ezPM2GUI is not officially affiliated with PM2 or PM2 Plus. It's an independent tool that interfaces with the PM2 process manager.
package/bin/ezpm2gui.js CHANGED
@@ -17,14 +17,14 @@ if (!fs_1.default.existsSync(serverPath)) {
17
17
  // Start the server
18
18
  const server = (0, child_process_1.spawn)('node', [serverPath], { stdio: 'inherit' });
19
19
  // Log startup message
20
- console.log('\x1b[36m%s\x1b[0m', `
21
- ╔════════════════════════════════════╗
22
- ║ ezPM2GUI Started ║
23
- ╚════════════════════════════════════╝
24
-
25
- Web interface available at: \x1b[1mhttp://localhost:3001\x1b[0m
26
-
27
- Press Ctrl+C to stop the server.
20
+ console.log('\x1b[36m%s\x1b[0m', `
21
+ ╔════════════════════════════════════╗
22
+ ║ ezPM2GUI Started ║
23
+ ╚════════════════════════════════════╝
24
+
25
+ Web interface available at: \x1b[1mhttp://localhost:3101\x1b[0m
26
+
27
+ Press Ctrl+C to stop the server.
28
28
  `);
29
29
  // Handle server process events
30
30
  server.on('error', (err) => {