This project provides a small PySide6 GUI for working with the PM2 process manager. It allows you to keep a list of Node.js application folders and start them with pm2 on a chosen port.
Projects are stored in projects.json:
{
"projects": [
{
"path": "/path/to/app",
"port": 3000,
"name": "my-app",
"env": {
"DEBUG": "1",
"SECRET": "value"
}
}
]
}Each entry defines the folder containing the Node.js project, the port to use
when starting it, an optional custom PM2 process name and an optional
env object with additional environment variables that will be passed to the
process when launched.
Run install.ps1 on Windows or install the dependencies manually:
python -m pip install -r requirements.txtPM2 must also be installed globally:
npm install -g pm2If pm2 isn't found after installation, ensure that the global npm binaries
directory (for example %APPDATA%\npm on Windows) is included in your PATH
environment variable and restart the terminal.
The application checks for pm2 on startup and before running or stopping
projects. If it is missing you will see a clear error message explaining how to
install it.
Launch the GUI with:
python manager.pyFor every configured project you can:
- Update – run
git pull origin maininside the project directory. - Run – start the project with
pm2usingnpm startand the selected port. - Stop – stop the running PM2 process.
- Change Name – set a custom name for the PM2 process.
- Edit Env – configure additional environment variables.
Projects can be added either from the File menu or using the Add Project
button. When adding a project you will be prompted for environment variables in
KEY=VALUE format. The project list now resides in a scrollable area so large
setups remain usable.
Use the Clear Log action from the menu or the button next to the log output to quickly empty the log display.
The application requires a graphical environment capable of running Qt applications.