feat: add PM2 ecosystem configuration and documentation for Web GUI deployment
This commit is contained in:
parent
7b4688b792
commit
b06961d915
@ -23,3 +23,35 @@ Notes & caveats
|
|||||||
- The script attempts to use `zstd -19` if available; otherwise it falls back to Python `zstandard`.
|
- The script attempts to use `zstd -19` if available; otherwise it falls back to Python `zstandard`.
|
||||||
- SSL verification is disabled with `--no-verify-ssl` for convenience with self-signed vCenter/ESXi certs.
|
- SSL verification is disabled with `--no-verify-ssl` for convenience with self-signed vCenter/ESXi certs.
|
||||||
- Test carefully in dev before using in production. This is a minimal DIY backup tool and does not replace a full backup product.
|
- Test carefully in dev before using in production. This is a minimal DIY backup tool and does not replace a full backup product.
|
||||||
|
|
||||||
|
## Web GUI
|
||||||
|
|
||||||
|
A Flask-based web interface to manage your backups, schedules, and NFS mounts.
|
||||||
|
|
||||||
|
### Running with PM2 (Recommended for Linux production)
|
||||||
|
|
||||||
|
PM2 natively supports Python applications and can keep the server running across restarts.
|
||||||
|
|
||||||
|
1. **Install PM2** (requires Node.js):
|
||||||
|
```bash
|
||||||
|
npm install -g pm2
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Start the Web GUI**:
|
||||||
|
Using the provided `ecosystem.config.js`:
|
||||||
|
```bash
|
||||||
|
pm2 start ecosystem.config.js
|
||||||
|
```
|
||||||
|
|
||||||
|
*(Optional)* If you are running inside a Python virtual environment (e.g. `venv`), edit `ecosystem.config.js` to uncomment and point the `interpreter` to your venv's python executable:
|
||||||
|
```javascript
|
||||||
|
interpreter: './venv/bin/python3'
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Useful PM2 Commands**:
|
||||||
|
- Status: `pm2 status`
|
||||||
|
- Logs: `pm2 logs vsphere-backup-gui`
|
||||||
|
- Restart: `pm2 restart vsphere-backup-gui`
|
||||||
|
- Stop: `pm2 stop vsphere-backup-gui`
|
||||||
|
- Setup auto-start on server boot: `pm2 startup` and then run the command it outputs, followed by `pm2 save`.
|
||||||
|
|
||||||
|
|||||||
23
vsphere_backup/ecosystem.config.js
Normal file
23
vsphere_backup/ecosystem.config.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
module.exports = {
|
||||||
|
apps: [
|
||||||
|
{
|
||||||
|
name: 'vsphere-backup-gui',
|
||||||
|
script: 'gui_app.py',
|
||||||
|
// If you are using a virtual environment (recommended), set the interpreter to:
|
||||||
|
// interpreter: './venv/bin/python3',
|
||||||
|
interpreter: 'python3',
|
||||||
|
cwd: './',
|
||||||
|
instances: 1,
|
||||||
|
autorestart: true,
|
||||||
|
watch: false,
|
||||||
|
max_memory_restart: '500M',
|
||||||
|
env: {
|
||||||
|
PORT: '5000',
|
||||||
|
SECRET_KEY: 'vsphere-backup-production-key-change-this'
|
||||||
|
},
|
||||||
|
error_file: './logs/pm2_err.log',
|
||||||
|
out_file: './logs/pm2_out.log',
|
||||||
|
log_date_format: 'YYYY-MM-DD HH:mm:ss'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue
Block a user