GPM
An all-in-one platform integrating process management, task orchestration, log collection, event auditing, status push, and access control.
Supports Web UI / CLI / Webhook / cgroup resource limiting / log retrieval / terminal sharing.
π Online Demo
Demo Address
http://106.54.154.228:8790/
Test Account
| Username |
Password |
| root |
root |
β¨ Project Introduction
GPM (General Process Manager) is a modern process management platform designed for service, script and task workflow scenarios.
Compared with traditional tools such as nohup, pm2 and supervisor, GPM delivers:
- More comprehensive task orchestration capabilities
- Powerful log collection
- Flexible status push mechanism
- Modern built-in Web UI
- Complete permission system
- Rich event auditing features
Use Cases
- Service hosting
- Automated script execution
- AI inference services
- Game servers
- Crawler tasks
- DevOps automation
- CI/CD auxiliary tasks
- Remote terminal sharing
π¦ Core Features
π₯οΈ Process Management
Start processes in GPM with custom launch commands, working directories, environment variables and more.
GPM automatically handles:
- Process lifecycle management
- Output log collection
- Status monitoring
- cgroup resource limiting
- performance metrics collection
- status event push
Capabilities
- Web UI visual management
- CLI command-line interaction
- In-browser terminal access
- Temporary terminal share links
- Real-time process status overview
- Resource usage monitoring
βοΈ Task Management
GPM features a flexible automated task system.
Trigger Modes
- Scheduled trigger
- API trigger
- Task linkage trigger
- Process status change trigger
Capabilities
- Auto start/stop processes
- Conditional execution
- Task chain orchestration
- Workflow execution
- Subsequent task triggering
π Log Collection
Automatically collect and centrally store process logs.
Supported Storage Backends
- SQLite (Default)
- Elasticsearch
- Bleve (Non-slim version)
Capabilities
- Web-based log query
- Full-text log search
- Historical log archiving
- Unified log management for multiple processes
- Full-text indexing (Elasticsearch / Bleve)
Log search query syntax
The log search box parses your input like a shell command line: tokens are split on spaces, and you can use double quotes to keep spaces inside one term (via shlex). Multiple terms are combined with ANDβevery positive term must match, and negative terms exclude matches.
| Prefix |
Meaning |
| (none) |
Match β default full-text style match (same as ^). |
^ |
Match β explicit full-text match on the log field. |
~ |
Wildcard β substring match; internally treated as *your text* on the keyword field (Elasticsearch / Bleve). |
! |
Not match β exclude lines that match the remainder as full text (after the single !). |
!^ or ^! |
Not match β same as not-match, with an explicit marker. |
!~ or ~! |
Not wildcard β exclude lines whose log matches the wildcard pattern *remainder*. |
Examples (spaces separate independent conditions):
error timeout β both error and timeout must appear (match semantics).
"out of memory" β one phrase containing a space.
~GET /api β wildcard-style substring containing GET and /api in the pattern (see backend implementation for exact wildcard rules).
error !debug β must match error and must not match debug.
Behavior is implemented in internal/app/repository/search and may differ slightly between SQLite (simple string conditions), Elasticsearch, and Bleve (full-text / wildcard queries).
π‘ Status Push
Push process and task status via Webhook.
Supported Methods
Features
- Custom placeholder variables
- Custom push payload
- Real-time status change notifications
π Event Auditing
Record critical system activities.
Monitored Events
- Process status changes
- Task status changes
- Terminal access records
- User operation logs
Capabilities
- Event query & filtering
- Operation audit trail
- Automatic log cleanup
π₯ User & Access Control
Built-in multi-role RBAC permission system.
| Role |
Permissions |
| root |
Full system privileges |
| admin |
All privileges except process creation/deletion, role management and system configuration |
| user |
Access only assigned processes and logs |
βοΈ System Configuration
Configure via:
Configurable Items
- Max restart attempts
- Log storage engine
- Timeout thresholds
- Log level
- Global system parameters
π Quick Start
1. Download Binary
wget <release-url>
2. Grant Execute Permission
chmod +x ./gpm
3. Launch Service
Run Directly
./gpm run
Install as System Service
./gpm service install
./gpm service start
After installation, use the gpm CLI to interact with the background service.
π Data Storage Paths
| Type |
Path |
| Config File |
{User Home}/.gpm/config.json |
| Database |
{User Home}/.gpm/data.db |
| Log File |
{User Home}/.gpm/info.log |
π» CLI Usage
Ensure the GPM backend service is running:
./gpm -h
View full command documentation.
ποΈ Architecture Highlights
- Lightweight deployment
- Single binary distribution
- Built-in Web UI
- Multi-user RBAC system
- Highly extensible design
- Automatic log harvesting
- Native workflow support
- Multiple storage backends
- Webhook integration
- Complete event auditing
π Application Scenarios
AI Service Hosting
- LLM inference services
- Stable Diffusion deployment
- Model scheduling & orchestration
DevOps
- Automated task scripts
- CI/CD pipeline jobs
- Service health inspection
Game Servers
- Minecraft
- Rust
- Palworld
- Steam game servers
Operation & Maintenance
- Background service management
- Centralized log management
- Remote terminal collaboration
π Security
- RBAC access control
- User resource isolation
- Full operation audit logs
- Terminal access recording
- Event traceability
π€ Contribution
Welcome to submit:
- Issues
- Pull Requests
- Feature Requests
Letβs build GPM together.
β Star History
If this project helps you, please give it a Star β
π License
MIT License