M·Desk 一个高效轻便的运维桌面系统,享受极致的桌面操作管理体验!
3.6K
高效轻便的服务器运维桌面系统
M·Desk 一个高效轻便的服务器运维桌面系统;集结反代服务、本地终端、组网穿透、外链分享、静态网站、文件和 Docker 管理等服务;所有服务都基于单一端口实现,享受极致的管理体验!
| 模块 | 说明 |
|---|---|
| 服务路由 | 统一管理多个服务入口,支持域名绑定与快速切换,各服务保持原有访问路径。 |
| fnOS 应用接入 | 扫描 fnOS 应用中心,将端口、Unix Socket 与 CGI 应用接入桌面,支持应用图标、版本、访问入口与安全路径校验。 |
| 本地终端 | 浏览器中的多会话终端,支持后台保活、快捷命令与右键菜单操作;常见 POSIX 环境优先使用 Bash,同时保留 Zsh 等显式 shell 选择。 |
| 文件管理 | 在线浏览、编辑、上传下载、压缩解压;支持右键菜单、框选、直接分享,以及图片、音视频和文本预览。目录链接、文件链接、失效链接与 Windows junction 会被明确标记。 |
| 外链分享 | 为文件或目录生成分享链接,可设置访问密码、常用到期时间与启停状态;访问页面支持图片、音视频和只读文本预览。 |
| 静态网站 | 选择一个本地目录即可发布为静态网站,支持默认主页、目录浏览与域名绑定;站点中的图片、音视频和文本资源可直接预览。 |
| 组网隧道 | 支持 FRPC、EasyTier 与 Cloudflare Tunnel,并可分别管理多个实例;Cloudflare 提供命名隧道与快捷隧道两种模式。 |
| Docker 管理 | 管理容器、Compose 项目、本地镜像、镜像仓库、Docker 网络与镜像加速器;支持按镜像、Compose 服务或容器逐项检测更新、拉取新镜像并重建服务,也支持重启 Docker 服务。 |
| 进程管理 | 查看真实进程列表、PID、用户、状态、CPU、内存、启动时间与可执行路径;支持搜索、端口反查、排序筛选、详情与安全结束进程。 |
| 系统状态 | 集中展示系统与硬件信息、硬盘和 SMART 健康、网络接口与流量、CPU、内存、GPU 与资源趋势;后台统一采样记录 CPU、内存、GPU、网络和磁盘读写趋势,Linux 补充网卡链路速率读取并优化磁盘拓扑呈现。 |
| 平台 | 文件 | 说明 |
|---|---|---|
| Windows 服务版 | MDesk-Windows-Service.exe | 在后台提供管理服务,适合长期运行 |
| Windows 桌面版 | MDesk-Windows-Desktop.exe | 使用桌面窗口承载管理界面 |
| Linux amd64 | MDesk-linux-amd64 | 适用于常见 x86_64 设备 |
| Linux arm64 | MDesk-linux-arm64 | 适用于 ARM64 设备 |
| Linux armv7 | MDesk-linux-armv7 | 适用于 32 位 ARMv7 设备 |
| fnOS | MDesk_2.7.91.fpk | 支持 amd64 与 arm64 |
MDesk-linux-amd64、MDesk-linux-arm64 或 MDesk-linux-armv7。data 数据目录。chmod +x ./MDesk-linux-amd64
./MDesk-linux-amd64
19188 端口,访问 http://<设备地址>:19188/@admin。ARM64 设备请将文件名替换为 MDesk-linux-arm64,32 位 ARMv7 设备请使用 MDesk-linux-armv7。可通过启动参数调整访问协议、监听地址、数据目录、日志和组网配置,完整说明见 MDesk 使用手册。
一键安装会自动识别 amd64、arm64 或 armv7。脚本会优先从 https://fndesk.imcq.top/FPK/MDesk/ 下载对应二进制文件;如果该镜像不可用,再回退到 GitHub Release 的多个加速地址中选择可用且响应较快的线路。
curl -fsSL https://raw.githubusercontent.com/IMGZCQ/MDesk/main/install.sh | sudo bash
再次运行同一命令时,脚本会先检测系统是否已经安装 MDesk:
也可以使用显式命令强制安装或卸载:
sudo bash install.sh install
sudo bash install.sh uninstall
安装向导会依次询问:
19188/opt/MDesk安装目录建议使用不含空格和特殊字符的路径,例如 /opt/MDesk。
安装完成后会注册并启动 mdesk.service,同时设置为开机自动启动。管理后台地址为:
http://<设备地址>:<端口>/@admin
卸载命令:
sudo mdeskctl uninstall
也可以使用本地脚本卸载:sudo bash install.sh uninstall。
卸载向导会询问是否删除用户数据。默认保留数据;选择删除后,会清理安装目录中的数据。
如需指定 GitHub 加速地址,可使用英文逗号分隔,并支持 {url} 占位符:
curl -fsSL https://raw.githubusercontent.com/IMGZCQ/MDesk/main/install.sh |
sudo env MDESK_GITHUB_PROXY='https://gh-proxy.com/,https://ghfast.top/' bash
| 参数 | 说明 |
|---|---|
-scheme | 设置 HTTP 或 HTTPS,默认 http |
-addr | 设置完整监听地址,例如 127.0.0.1:8080 或 :8080;与 -port 二选一,-addr 优先 |
-port | 设置监听端口,默认 19188 |
-data | 设置数据目录,默认使用程序所在目录下的 data |
-log | 设置运行日志文件;按 5MB 轮转并保留 3 份 |
-reset-password | 重置管理密码后退出程序 |
-frpc-config | 首次导入 FRPC 配置文件,支持本地路径或 HTTP(S) URL |
-easytier-config | 首次导入 EasyTier 配置文件,支持本地路径或 HTTP(S) URL |
-cf-token | 首次导入 Cloudflare 命名隧道 Token |
-force | 强制使用命令行中的组网隧道配置覆盖已有模块配置 |
Docker 管理建议在 Docker 所在 Linux 宿主机上运行,并确保 M·Desk 进程拥有 Docker Socket 的读写权限。
| 环境变量 | 说明 |
|---|---|
MDESK_GITHUB_PROXY | 组网工具下载代理,多个地址使用英文逗号分隔;设置后会替换内置代理列表,并支持 {url} 占位符 |
MDESK_GITHUB_TOKEN | 可选的 GitHub Token,优先于 GITHUB_TOKEN,用于提高 GitHub API 和下载请求限额 |
GITHUB_TOKEN | MDESK_GITHUB_TOKEN 未设置时使用 |
DOCKER_SOCKET | 自定义 Docker Unix Socket 路径 |
DOCKER_HOST | 仅支持 unix://... 形式,暂不支持 TCP 连接 |
DOCKER_DAEMON_CONFIG | 自定义 Docker daemon 配置文件路径,默认 /etc/docker/daemon.json |
GitHub Actions 会在发布 Release 时自动读取该 Release 的 MDesk-linux-amd64、MDesk-linux-arm64 与 MDesk-linux-armv7 资产,构建并推送 linux/amd64、linux/arm64 与 linux/arm/v7 多架构镜像到 Docker Hub:
创建 compose.yaml:
services:
MDesk:
container_name: MDesk
image: imgzcq/mdesk
network_mode: host
restart: always
command: ["-port", "19188"]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/usr/local/bin/data
提示:
command会覆盖镜像默认的-data /data参数,程序因此使用可执行文件所在目录下的data,即/usr/local/bin/data。请保持volumes挂载路径为./data:/usr/local/bin/data,确保配置、账号与图标等数据持久化。
启动:
docker compose up -d
/var/run/docker.sock 用于 M·Desk 的 Docker 管理功能。不需要该功能时可以移除这一行,但容器、Compose、镜像与网络页面将无法连接宿主机 Docker。
Caution
挂载 Docker Socket 后,M·Desk 将拥有较高的宿主机控制权限。请只运行可信镜像,限制管理入口的访问范围,并妥善保护管理密码与访问链路。
docker pull imgzcq/mdesk:latest
docker run -d \
--name mdesk \
--restart unless-stopped \
-p 19188:19188 \
-v mdesk-data:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
imgzcq/mdesk:latest
Docker 管理需要挂载 Docker Socket。文件管理与终端默认只看到容器内文件,如需管理宿主机目录,请额外挂载对应卷。
仓库 Actions secrets 需要配置 DOCKERHUB_TOKEN,建议使用 Docker Hub 的 Read & Write access token。Release 发布会推送 latest、版本号和完整标签;也可以通过 workflow_dispatch 手动补发指定版本,版本号填写 2.7.91 或 v2.7.91 均可。
MDesk_2.7.91.fpk。19188 端口。http://<设备地址>:19188/@admin,首次访问时设置管理密码。服务路由、终端、文件管理、外链分享、静态网站、组网隧道、Docker、进程管理与系统状态的详细操作,请查看 MDesk 使用手册。
.github/workflows/ Docker Hub 多架构发布流程
app/ fnOS 应用运行文件与双架构二进制
cmd/ fnOS 安装、启动、升级与卸载脚本
config/ fnOS 权限与资源声明
wizard/ fnOS 安装向导配置
Dockerfile Docker Hub 多架构镜像构建文件
manifest fnOS 应用清单
MDesk 使用手册.md 用户使用、部署与参数说明
官网源码由本地 www/ 目录维护,可以直接部署为静态站点。页面包含项目介绍、核心能力、优势说明、部署概览与响应式布局,所有文案均在 www/index.html 中维护;发布仓库不包含该目录。
Caution
M·Desk 的管理入口、终端与文件管理拥有较高权限。请使用强密码,优先通过 HTTPS、内网 ACL、VPN 或零信任网关访问,不要将管理入口直接暴露在不可信网络中。
amd64、arm64 与 armv7,支持安装、升级、卸载、服务自启以及下载加速回退。2.7.86,重新构建 Windows 服务版、Windows 桌面版、Linux amd64、Linux arm64、Linux armv7 与 fnOS 安装包。2.7.73,重新构建 Windows 服务版、Windows 桌面版、Linux amd64、Linux arm64 与 fnOS 安装包。2.7.72,重新构建 Windows 服务版、Windows 桌面版、Linux amd64、Linux arm64 与 fnOS 安装包。2.7.69,重新构建 Windows 服务版、Windows 桌面版、Linux amd64、Linux arm64 与 fnOS 安装包。/var/apps 并读取应用名称、版本、图标与访问方式。/app/...、/cgi/... 入口,并兼容 Cookie、Session Token、Location、错误页和路径重写。2.7.68,重新构建 Windows 服务版、Windows 桌面版、Linux amd64、Linux arm64 与 fnOS 安装包。2.7.63。*.trycloudflare.com 公开地址,适合快速验证。2.6.57。/var/run/docker.sock:/var/run/docker.sock 挂载说明,并增加宿主机权限与访问控制安全提示。2.6.55。19188,fnOS 安装、升级与服务入口保持统一。Ctrl+A 在“全选/不选”之间切换。Ctrl+S 快速保存当前文件。Enter 打开或进入。Backspace 返回上级目录。F2 重命名快捷键,支持对当前焦点文件直接触发重命名。Ctrl+V。Content type
Image
Digest
sha256:dac1af1a9…
Size
52.2 MB
Last updated
1 day ago
docker pull imgzcq/mdesk