一体化家庭实验室仪表盘Dashwise

简介

什么是 Dashwise ?

Dashwise 是一个全功能的自托管仪表板,用于管理和监控家庭实验室(homelab)服务和书签。它为用户提供了一个美观且高度可定制的界面来集中管理您的数字生活,以便快速访问和组织相关链接,支持实时信息监控和自定义设置。

主要特点

  • 图形化界面编辑:无需修改配置文件,直接通过美观的 UI 界面管理您的链接、搜索引擎和壁纸。
  • 内置认证系统:支持用户注册和登录,并可通过 OIDC 实现单点登录(SSO)。
  • 链接管理与监控:集中存储和分组您的重要链接,并能通过 GET 请求监控服务的在线状态。
  • 丰富的组件(Widgets):模块化、可定制的组件,可在仪表盘上显示关键信息或执行快捷操作。
  • Spotlight风格的快速搜索:通过 Ctrl+K 快速启动搜索,轻松查找链接、集成或使用搜索引擎。
  • 直接集成:与您其他的自托管应用深度集成(目前已支持 KaraKeep 等)。
  • 自定义壁纸:支持上传自定义壁纸,打造个性化主页。

应用场景

  • Homelab爱好者:为众多自托管服务提供一个统一、美观的入口。
  • 开发者:快速访问常用的开发工具、文档和项目链接。
  • 数字生活家:将常用的网站、服务和信息源整合到一个页面,提高效率。

Dashwise 是一个功能强大且灵活的自托管解决方案,适合各种需求的用户,特别是在管理和组织家庭实验室和个人项目方面。

安装

在群晖上以 Docker 方式安装。

本文写作时, 软件版本对应为 v0.3.1

采用 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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
version: "3.8"

services:
dashwise:
image: andreasmolnardev/dashwise:stable
container_name: dashwise
restart: unless-stopped
ports:
- "3016:3000"
environment:
PB_ADMIN_EMAIL: default@dashwise.local
PB_ADMIN_PASSWORD: DashwiseIsAwesome
NEXT_PUBLIC_PB_URL: http://pocketbase:8090

pocketbase:
image: andreasmolnardev/dashwise-pb:stable
container_name: dashwise-pb
restart: unless-stopped
# ports:
# - "3017:8090"
volumes:
- ./data:/app/pb_data
environment:
PB_ADMIN_EMAIL: default@dashwise.local
PB_ADMIN_PASSWORD: DashwiseIsAwesome

jobs:
image: andreasmolnardev/dashwise-jobs:stable
container_name: dashwise-jobs
restart: unless-stopped
# ports:
# - "3018:3001"
environment:
PB_URL: http://pocketbase:8090
DASHWISE_URL: http://dashwise:3000
PB_ADMIN_EMAIL: default@dashwise.local
PB_ADMIN_PASSWORD: DashwiseIsAwesome

关于环境变量的简单说明如下

服务 环境变量 说明
dashwise PB_ADMIN_EMAIL PocketBase 管理员的电子邮件地址,默认为 default@dashwise.local
PB_ADMIN_PASSWORD PocketBase 管理员的密码,默认为 DashwiseIsAwesome
NEXT_PUBLIC_PB_URL PocketBase 实例的 URL,设为 http://pocketbase:8090
pocketbase PB_ADMIN_EMAIL PocketBase 管理员的电子邮件地址,默认为 default@dashwise.local
PB_ADMIN_PASSWORD PocketBase 管理员的密码,默认为 DashwiseIsAwesome
jobs PB_URL PocketBase 实例的内部 URL,设为 http://pocketbase:8090
DASHWISE_URL Dashwise 应用的内部 URL,设为 http://dashwise:3000
PB_ADMIN_EMAIL PocketBase 管理员的电子邮件地址,默认为 default@dashwise.local
PB_ADMIN_PASSWORD PocketBase 管理员的密码,默认为 DashwiseIsAwesome

【重要】: 将上面 yaml 文件中的 PB_ADMIN_EMAILPB_ADMIN_PASSWORD 的值替换为你自己的邮箱和强密码。

更多环境变量设置,请参考官方文档:https://github.com/andreasmolnardev/dashwise-next/tree/dev#configuration

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

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

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

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3016 就能看到 Dashwise-Next 的登录界面

第一次需要注册用户

右下角进入 Settings –> Widgets,可以通过拖拽对主界面进行编排

左下角点 Close 回到主界面

Settings –> Links 可以对链接进行增删改

回到主页能看到我们刚刚增加的链接

主界面按 Ctrl+K,可以搜索链接和集成,或者使用设置中指定的搜索引擎搜索

参考文档

andreasmolnardev/dashwise-next: dashwise is an all-in-one homelab dashboard
地址:https://github.com/andreasmolnardev/dashwise-next

Dashwise now supports Widgets! (v0.3) : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1p0h7g0/dashwise_now_supports_widgets_v03/