轻量级Docker仪表板Servedash

简介

什么是 Servedash ?

Servedash 是一个轻量级的 Docker 仪表板,专为「只是想看看哪些服务在跑」的场景设计。它自动扫描所有 Docker 容器,显示 CPU 和内存使用率,支持实时日志查看,并且可以直接从页面打开各个服务。

主要特点

  • 自动发现容器:扫描所有 Docker 容器,包括运行中和已停止的,无需手动配置
  • 资源监控:实时显示每个容器的 CPU 和内存使用率,一目了然
  • 实时日志:内置日志查看器,支持搜索和过滤,方便快速定位问题
  • 一键操作:直接从仪表板启动、停止或重启容器
  • 快捷访问:点击即可打开服务,多端口时自动显示选择菜单
  • 灵活排序:支持拖拽卡片排序,也可按名称、运行时间或更新状态排序
  • 镜像更新检测:自动检查 Docker HubGHCRlscr.io 上的镜像更新,有新版时卡片显示标记
  • 双视图模式:支持 Grid(网格)和 List(列表)两种视图
  • 主题切换:深色 / 浅色主题,满足不同使用偏好
  • 开源免费:基于 MIT 协议开源,可免费使用和修改

应用场景

  • 个人服务器监控:家庭用户快速查看 NAS 上运行的 Docker 服务状态
  • 开发环境管理:开发人员监控本地容器化应用的运行情况
  • 小型团队运维:轻量替代 Portainer,满足基本的容器管理需求
  • 服务状态看板:在内网部署一个仪表板,方便团队成员查看服务状态

Servedash 是一个简单实用的 Docker 仪表板,适合那些只需要基本监控功能、不想被复杂配置困扰的用户。

安装

在群晖上以 Docker 方式安装。

由于镜像托管在 ghcr.io 且需要挂载 /var/run/docker.sock(群晖图形化不支持),请通过命令行方式安装。

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 servedash 和 子目录
mkdir -p /volume1/docker/servedash/data

# 进入 servedash 目录
cd /volume1/docker/servedash

# 一键启动
docker run -d \
--name=servedash \
--restart=unless-stopped \
-p 3296:3000 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v $(pwd)/data:/app-data \
-e REFRESH_INTERVAL=15 \
-e UPDATE_CHECK_INTERVAL=0 \
ghcr.io/destinyjazz/servedash:latest

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3.8'

services:
servedash:
image: ghcr.io/destinyjazz/servedash:latest
container_name: servedash
restart: unless-stopped
ports:
- "3296:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # Docker socket,只读
- ./data:/app-data # 持久化拖拽排序
environment:
- REFRESH_INTERVAL=15 # 自动刷新间隔(秒),0 = 关闭
- UPDATE_CHECK_INTERVAL=0 # 镜像更新检查间隔(分钟),0 = 仅手动
healthcheck:
test: ["CMD", "wget", "--spider", "-qO-", "http://127.0.0.1:3000/"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 servedash 和 子目录
mkdir -p /volume1/docker/servedash/data

# 进入 servedash 目录
cd /volume1/docker/servedash

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中访问 http://<群晖IP>:3296 即可进入主界面

使用无需配置,Servedash 会自动扫描并显示所有 Docker 容器。我们可以:

  1. 点击 Open 直接打开对应服务
  2. 点击 Logs查看容器实时日志
  3. 点击卡片上的按钮启动、停止或重启容器
  4. 拖拽卡片调整排列顺序
  5. 点击右上角图标切换深色/浅色主题

还可以切换为 List 视图

注意事项

  1. Docker Socket 权限Servedash 以只读方式挂载 /var/run/docker.sock,请勿将其暴露在公网上,建议放在内网或使用带认证的反向代理
  2. 数据持久化:使用 /data 挂载到 /app-data,用于保存拖拽排序,重启后不会丢失
  3. 镜像更新检测:默认关闭自动检测,可设置 UPDATE_CHECK_INTERVAL 为正整数(单位:分钟)开启自动检查
  4. 端口冲突:如 3000 端口已被占用,可通过 PORT 环境变量修改,例如 PORT=8080
  5. 私有镜像:镜像更新检测仅支持 Docker HubGHCRlscr.io 上的公开镜像,私有仓库显示为不支持

参考文档

DestinyJazz/servedash: A simple Docker dashboard for just wanting to see what’s running
地址:https://github.com/DestinyJazz/servedash

Servedash - GitHub Packages
地址:https://github.com/DestinyJazz/servedash/pkgs/container/servedash