什么 Dasherr ?
这是老苏在逛
官方目前没有提供 docker
,但本身的安装方法并不复杂,只要将代码下载后,将 www
目录中的文件放入到 Web
服务器中发布目录就可以,像群晖也可用放到 Web Station
中
虽然简单,不过老苏相信绝大部分人应该和老苏一样懒,最好是能一键搞定的那种 😂
构建镜像
如果你不想自己构建,可以跳过,直接阅读下一章节
Dockerfile
很简单,就是在 nginx
中把源代码放进去了
FROM nginx:1.12-alpine
WORKDIR /app
COPY . ./
EXPOSE 80
CMD ["sh", "run.sh"]
run.sh
做的事情是把源代码复制到了我们新建的用来映射的目录,这主要是为了方便对 settings.json
进行修改
老苏只是简单的做了判断,避免重启或者升级时直接覆盖掉了
settings.json
,记得备份才是根本;
#!/bin/bash
if [ ! -f "/usr/share/nginx/html/settings.json" ];then
echo "文件不存在"
cp -r ./www/. /usr/share/nginx/html
else
echo "文件存在"
fi
nginx -g "daemon off;"
构建镜像和容器运行的基本命令如下👇
# 下载代码
git clone https://github.com/erohtar/Dasherr.git
# 或者加个代理
git clone https://ghproxy.com/github.com/erohtar/Dasherr.git
# 进入目录
cd Dasherr
# 将 Dockerfile 放入当前目录
# 构建镜像
docker build -t wbsu2003/dasherr:v1 .
# 运行容器
docker run -d \
--name dasherr \
-p 18080:80 \
-v $(pwd)/www:/usr/share/nginx/html \
wbsu2003/dasherr:v1
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 dasherr
,选择第一个 wbsu2003/dasherr
,版本选择 latest
。
卷
在 docker
文件夹中,创建一个新文件夹 dasherr
,并在其中建一个子文件夹 www
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/dasherr/www | /usr/share/nginx/html | 存放设置和网页文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
18080 | 80 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 dasherr 和 子目录
mkdir -p /volume2/docker/dasherr/www
# 进入 dasherr 目录
cd /volume2/docker/dasherr
# 运行容器
docker run -d \
--name dasherr \
-p 18080:80 \
-v $(pwd)/www:/usr/share/nginx/html \
wbsu2003/dasherr:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
dasherr:
image: wbsu2003/dasherr
container_name: dasherr
restart: unless-stopped
ports:
- 18080:80
volumes:
- ./www:/usr/share/nginx/html
然后执行下面的命令
# 新建文件夹 dasherr 和 子目录
mkdir -p /volume2/docker/dasherr/www
# 进入 dasherr 目录
cd /volume2/docker/dasherr
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:18080
就能看到主界面
这是默认的 settings.json
的效果
所以需要对 settings.json
进行配置
配置
page
title
: 仪表板的标题,支持中文,但必须使用UTF-8
编码格式;theme
: 来自settings.json
文件中主题部分的当前主题名称,默认提供了15
个主题可供选择;openTab
: 当您单击服务磁贴时,此设置决定它是在新选项卡还是同一选项卡中打开(可能的值new
和same
)
示例代码:
"page": {
"title": "老苏的仪表板",
"theme": "Onedark",
"openTab": "new"
},
保存后不需要重启容器,直接刷新页面就可以
widgets
目前只有一个,而且需要安装 Glances
, 老苏以前写过 Glances
文章传送门:Glances实时监视群晖运行状况
不想看也可以执行下面的命令,一键安装
# 一键启动
docker run -d \
--restart="always" \
--name="glances" \
-p 61208-61209:61208-61209 \
-e GLANCES_OPT="-w" \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--pid host \
nicolargo/glances
url
: 以斜线结尾的服务URL
refreshMs
: 更新前等待多少毫秒(默认为5000
毫秒或5
秒)
示例代码:
"widgets": {
"glances": {
"url": "http://192.168.0.197:61208/",
"refreshMs": 5000
}
}
保存后刷新页面,已经有相关信息了
sections
这部分是分类
name
:该分类的名称tiles
: 见下文disable
: (可选)如果设置为1
,则不会显示此部分;
tiles
name
- 网站名称url
- 以斜线结尾的服务URL
faIcon
- 您想为此服务显示的FontAwesome
图标的ID
,可以到下面网站查找:- https://fontawesome.com/search
- https://www.thinkcmf.com/font/font_awesome/icons.html
disable
- (可选)如果设置为1
,则不会显示此Tile
disableCheck
- (可选)如果设置为1
,则不会对该Tile
进行在线检查
示例代码:
"sections": [
{
"name": "示例",
"tiles": [
{
"name": "群晖主页",
"url": "http://192.168.0.197:5000/",
"faIcon": "fa-solid fa-house"
},
{
"name": "Glances",
"url": "http://192.168.0.197:61208/",
"faIcon": "fa fa-microchip"
}
]
},
保存后刷新
themes
background
:本地或网络壁纸背景colorBg
: 页面的背景颜色(仅在background
未设置时使用)colorPr
: 页面的主要文本颜色colorSc
: 页面的辅助文本颜色colorOn
: 启用服务的“点”的颜色colorOf
: 服务禁用“点”的颜色
示例代码:
"Onedark": {
"background": "https://images2.alphacoders.com/540/540010.jpg",
"colorBg": "#282c34",
"colorPr": "#dfd9d6",
"colorSc": "#98c379",
"colorOn": "#98c379",
"colorOf": "#808080"
},
看来要让图片和主题颜色搭配还不是一件容易的事情
升级和备份
因为采用了单文件设置,所以 settings.json
文件的备份很重要,不管是否升级,记得备份
因为项目还在初期,所以大概率会经常升级,但老苏又太懒,所以如果想体验新版本,可以通过采用官方的方式,下载源代码,并将www
目录放入 dasherr
目录,然后刷新网页就行了
参考文档
erohtar/Dasherr: A minimal and lightweight dashboard for your self-hosted services (and bookmarks)
地址:https://github.com/erohtar/Dasherr
Dasherr - A new minimalistic and lightweight dashboard for your self-hosted services (FOSS) : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/ym0x0l/dasherr_a_new_minimalistic_and_lightweight/