You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Added cluster mode toggle switch in process page
- Processes with same name are grouped together in cluster view
- Fixed process selection dropdown to show one entry per cluster
- Enhanced selection logic to handle cluster operations
- Cluster actions (restart, stop, delete) affect all process instances in the cluster
@@ -19,109 +19,10 @@ pm2.web is a web-based application designed to monitor and manage processes runn
19
19
20
20
To get started with pm2.web, follow these steps:
21
21
22
-
### Vercel & MongoDB Atlas
23
-
24
-
<details>
25
-
<summary>Expand</summary>
26
-
27
-
#### MongoDB Atlas
28
-
29
-
1. Create a MongoDB Atlas account and create a new project.
30
-
2. Create a new cluster and select the free tier.
31
-
3. Create a new database user and save the username and password.
32
-
4. Add your IP address to the IP Access List or through a CIDR block.
33
-
34
-
#### Vercel
35
-
[](https://vercel.com/new/clone?repository-url=https://github.com/oxdev03/pm2.web&env=MONGO_URI&description=Process+Monitoring+and+Management&rootDirectory=dashboard)
36
-
37
-
1. Click the deploy button above and follow the instructions.
38
-
39
-
#### Backend
40
-
[Follow the instructions here , On-Premise->Backend](#backend1)
41
-
42
-
</details>
43
-
44
-
### On-Premise
45
-
46
-
<details>
47
-
<summary>Expand</summary>
48
-
49
-
1. Clone the repository to your server.
50
-
51
-
```bash
52
-
git clone https://github.com/oxdev03/pm2.web.git
53
-
```
54
-
55
-
#### Backend
56
-
<aname="backend1"></a>
57
-
58
-
The Backend is a simple nodejs application that uses the pm2 BUS API to communicate and monitor pm2 process.
59
-
It doesn't require any open ports, since it only saves data to the database and events like restart, stop, delete are relayed through the change stream of mongodb.
60
-
61
-
##### Requirements
62
-
63
-
- Nodejs v16
64
-
- MongoDB Cluster
65
-
- PM2
66
-
67
-
##### Installation
68
-
69
-
1. Install the dependencies
70
-
71
-
```bash
72
-
cd backend
73
-
npm install
74
-
```
75
-
76
-
2. Create a `.env` file in the backend directory and add the following variables
77
-
78
-
```bash
79
-
MONGO_URI=<MongoDB URI>
80
-
```
81
-
82
-
3. Start the backend
83
-
84
-
```bash
85
-
npm start
86
-
```
87
-
88
-
#### Frontend
89
-
90
-
##### Requirements
91
-
92
-
- Open Port 3000 or 80,443 (if you use a reverse proxy)
93
-
- Nodejs v16
94
-
- MongoDB
95
-
96
-
##### Installation
97
-
98
-
1. Install the dependencies
99
-
100
-
```bash
101
-
cd dashboard
102
-
npm install
103
-
```
104
-
105
-
2. Create a `.env` file in the dashboard directory and add the following variables
106
-
107
-
```bash
108
-
MONGO_URI=<MongoDB URI>
109
-
NEXTAUTH_URL=<Index URL of the dashboard eg. http://ip:3000>
110
-
```
111
-
112
-
3. Build the frontend
113
-
114
-
```bash
115
-
npm run build
116
-
```
117
-
118
-
4. Start the frontend
119
-
120
-
```bash
121
-
npm start
122
-
```
123
-
124
-
</details>
22
+
1.[Setup Backend](./apps/backend/README.md)
23
+
2. Setup Dashboard
24
+
-**A:**[Setup Dashboard On Premise](./apps/dashboard/README.md#on-premise)
@@ -135,10 +36,10 @@ Once pm2.web is installed and running, you can perform the following actions:
135
36
136
37
- Stop, restart, or delete processes from the process list page.
137
38
- Access the logs generated by your processes.
138
-
- View key metrics and graphs to assess the performance of your applications.
39
+
- View key metrics, git versioning info and graphs to assess the performance of your applications.
139
40
- Pm2 Settings & Git Feature
140
41
141
-
-**Server Management (Planned)**:
42
+
-**Server Management (Planned/On Demand)**:
142
43
143
44
- Control server-level functions such as shutdown or restart using the dedicated server management page.
144
45
- Execute these actions securely without the need for direct server access.
@@ -154,35 +55,48 @@ Once pm2.web is installed and running, you can perform the following actions:
154
55
155
56
- Configure settings such as the update interval, log rotation, and more.
156
57
157
-
-**Alert Setup (Planned)**:
58
+
-**Alert Setup (Planned/On Demand)**:
59
+
158
60
- Configure alerts to receive notifications for specific actions.
159
61
- Define alert rules based on events like shutdown, restart, or kill actions.
160
62
161
-
## Milestones (based on stars)
162
-
163
-
I have a lot of ideas for this project, but I don't have the time to implement them all due to my busy schedule. Nor the less the project will be maintained even if it doesn't reach the milestones.
164
-
165
-
-[x] 0 Stars - Active Maintenance/Bug Fixes
166
-
-[] 20 Stars - Server Management
167
-
-[] 50 Stars - Alert Setup
168
-
-[] 100 Stars - Change Database to PostgreSQL for better performance
169
-
-[] 150 Stars - Live Monitoring (Websocket)
63
+
-**User Registration**:
64
+
- User can register at the `/login` page
65
+
- If a registration code is configured, the user needs to enter the code
66
+
- The 1st user which registers is automatically assigned the owner permission
67
+
- The owner can assign permissions to registered users through the access control page
68
+
- registered user without any permissions can't access the dashboard nor login
69
+
- accounts linked with oauth2 can't login with credentials (can be unlinked in the settings page)
70
+
-**Setup Github OAuth**
71
+
-https://github.com/settings/developers -> New OAuth App
72
+
- Configure the callback url to `http://<domain|ip:port>/api/auth/callback/github`
73
+
- Add `NEXT_PUBLIC_GITHUB_CLIENT_ID` and `NEXT_GITHUB_SECRET` to the `.env` file with the values from the OAuth App
74
+
-**Usage**: Only registered users (per credentials) can login with auth2, which links the oauth2 with the existing user account in the database
75
+
-**Setup Registration Code**
76
+
- Go to the settings page and add/generate the registration code
77
+
-**Setup Google OAuth (Planned/On Demand)**
78
+
- TBD
79
+
80
+
## Up Next
81
+
82
+
- E2E Tests for current functionality
83
+
- Performance Improvements for Charts & Logs
170
84
171
85
## Contributing
172
86
173
87
Contributions to pm2.web are welcome! If you would like to contribute to the project, please follow these guidelines:
174
88
175
89
1. Fork the repository on GitHub.
176
90
177
-
2. Create a new branch from the `develop` branch to work on your changes.
91
+
2. Create a new branch from the `master` branch to work on your changes.
178
92
179
93
3. Make your modifications and ensure they adhere to the project's coding standards.
180
94
181
95
4. Commit your changes with clear and descriptive commit messages.
182
96
183
97
5. Push your branch to your forked repository.
184
98
185
-
6. Submit a pull request to the `develop` branch of the main pm2.web repository.
99
+
6. Submit a pull request to the `master` branch of the main pm2.web repository.
0 commit comments