minit 现在支持基于Web的管理界面,提供直观的进程管理和实时监控功能。
# 使用默认配置(推荐用于开发)
MINIT_WEB_ENABLED=true ./minit
# 或指定自定义配置
MINIT_WEB_HOST=0.0.0.0 MINIT_WEB_PORT=9090 ./minit
打开浏览器访问: http://127.0.0.1:8080
| 变量名 | 默认值 | 说明 |
|---|---|---|
MINIT_WEB_ENABLED | true | 启用/禁用Web界面 |
MINIT_WEB_HOST | 127.0.0.1 | Web服务绑定地址 |
MINIT_WEB_PORT | 8080 | Web服务端口 |
MINIT_WEB_AUTH | false | 启用HTTP基础认证 |
MINIT_WEB_USER | admin | 认证用户名 |
MINIT_WEB_PASS | "" | 认证密码 |
# 生产环境推荐配置
export MINIT_WEB_ENABLED=true
export MINIT_WEB_HOST=127.0.0.1 # 仅本地访问
export MINIT_WEB_PORT=8080
export MINIT_WEB_AUTH=true # 启用认证
export MINIT_WEB_USER=admin
export MINIT_WEB_PASS=your-secure-password
./minit
查看进程列表
创建新进程
进程控制
minit Web界面提供完整的RESTful API:
# 获取进程列表
GET /api/v1/processes
# 获取单个进程信息
GET /api/v1/processes/{name}
# 创建进程
POST /api/v1/processes
Content-Type: application/json
{
"name": "my-service",
"kind": "daemon",
"command": ["/usr/bin/my-service"],
"env": {"LOG_LEVEL": "info"}
}
# 更新进程配置
PUT /api/v1/processes/{name}
# 删除进程
DELETE /api/v1/processes/{name}
# 进程控制操作
POST /api/v1/processes/{name}/action
Content-Type: application/json
{
"action": "start" // start, stop, restart
}
# 获取全局配置
GET /api/v1/config
# 重载配置文件
POST /api/v1/config
# SSE事件流
GET /api/v1/events
Accept: text/event-stream
# 健康检查
GET /health
# 使用提供的测试脚本
./test-web-ui.sh
# 或手动测试
export MINIT_UNIT_DIR="./test-config"
export MINIT_WEB_ENABLED=true
./bin/minit
# 健康检查
curl http://127.0.0.1:8080/health
# 获取进程列表
curl http://127.0.0.1:8080/api/v1/processes
# 创建测试进程
curl -X POST http://127.0.0.1:8080/api/v1/processes \
-H "Content-Type: application/json" \
-d '{
"name": "test-echo",
"kind": "daemon",
"command": ["/bin/echo", "Hello World"]
}'
# SSE事件流测试
curl -N http://127.0.0.1:8080/api/v1/events
Web界面无法访问
MINIT_WEB_ENABLED=true 是否设置认证失败
MINIT_WEB_AUTH=true 时已设置密码SSE连接问题
# 启用详细日志
MINIT_LOG_LEVEL=debug ./minit
# Web相关日志会以 [WEB] 前缀显示
欢迎贡献代码和建议!Web界面相关的代码主要位于:
pkg/mweb/ - Web服务核心代码pkg/mweb/static/ - 前端静态资源pkg/mweb/templates/ - HTML模板main.go, main_windows.go - Web服务集成本项目遵循与minit主项目相同的许可证。
享受使用minit Web管理界面! 🎉