GitHub - Lissy93/dashy: 🚀 A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more!
🚀 A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more! - Lissy93/dashy

Dashy —— 一个现代化的自托管仪表盘,帮助你便捷地管理和访问你服务器上的各种服务和工具。

Dashy 提供了一个直观的 Web 界面,支持多种自定义功能和插件:

安装 Docker 环境

HestiaCP + Portainer:轻松管理所有 Docker 应用
安装 Docker 使用apt存储库安装 在新的主机上首次安装 Docker Engine 之前,您需要设置 Dockerapt存储库。之后,您可以从存储库安装和更新 Docker。 设置 Docker 的apt存储库。 # 添加 Docker 的 GPG 公钥: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/

配置 Docker Compose

在 HestiaCP 中新建网站配置ssl新建数据库的操作就不再赘述了。如果你是第一次看到 HestiaCP 系列教程,请点击下方链接,就能看到完整的一系列教程了。

HestiaCP - HOSTEYE

如果你打算使用 HestiaCP 的备份与恢复功能,可以将 Docker Compose 文件和持久化存储设置在网站目录下。接下来我们就以这种方式进行演示。

我们在 /home/user/web/domain/public_html/ 目录下创建一个 docker-compose.yml 文件。内容参考如下:

---
version: "3.8"
services:
  dashy:
    # To build from source, replace 'image: lissy93/dashy' with 'build: .'
    # build: .
    image: lissy93/dashy
    container_name: Dashy
    # Pass in your config file below, by specifying the path on your host machine
    volumes:
      - /home/user/web/domain/public_html/user-data:/app/user-data
    ports:
      - 12345:8080
    # Set any environmental variables
    environment:
      - NODE_ENV=production
    # Specify your user ID and group ID. You can find this by running `id -u` and `id -g`
      - UID=1021
      - GID=1021
    # Specify restart policy
    restart: unless-stopped
    # Configure healthchecks
    healthcheck:
      test: ['CMD', 'node', '/app/services/healthcheck']
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 40s

反向代理

HestiaCP 如何反向代理?
我们知道,AAPanel反代功能非常方便,那么在HestiaCP 如何设置反向代理呢? 从官方文档能看到,HestiaCP 支持创建自定义Web 模板。 Web Templates and FastCGI/Proxy Cache | Hestia Control PanelOpen-source web server control panel.Hestia Control Panel 创建模板 首先到服务器的这个路径 /usr/local/hestia/data/templates/web/nginx 因为它们会被更新覆盖,所以要复制 default.tpl 和 default.stpl ,复制之后的文件要记得重命名成自己看的懂的。 比如,我想给运行在32000端口的qbittorrent-nox添加反代,我可以重命名成 qb.tpl 和 qb.stpl。其中,

配置 Dashy

Configuring | Dashy
All app configuration is specified in /user-data/conf.yml which is in YAML Format format. If you’re using Docker, this file can be passed in as a volume. Changes can either be made directly to this file, or done through the UI. From the UI you can also export, backup, reset, validate and download your configuration file.

Dashy 的配置文件与 Clash ,Surge 的配置文件很类似,稍微看下文档就能上手。

主要分为这四个部分:pageInfopagesappConfigsections,我们一部分一部分的来写配置文件。

pageInfo

用于配置页面的核心信息,包括页首文本、页脚、页面标题和导航标签。

pageInfo:
  title: Hello, FOXCOO
  description: General browser startpage
  navLinks:
    - title: Portfolio
      path: https://foxcoo.net
    - title: HOSTEYE
      path: https://hosteye.net
    - title: HOSTEYE STATUS
      path: https://status.hosteye.net
  • title: 页面标题,显示在浏览器标签栏上,这里设置为 Hello, FOXCOO
  • description: 页面描述,通常用于在搜索引擎中显示或提供给用户更多页面信息,这里设置为 General browser startpage
  • navLinks: 这是一个包含多个导航链接的列表,每个链接有:
    • title: 导航链接的标题,会显示在页面上。
    • path: 导航链接指向的 URL 地址,点击后会跳转到该地址。

pages

用于设置右上角的附加页面,便于拓展和管理多页面内容。

pages:
  - name: ad
    path: asdasd.yml
  • name: 这个字段指定附加页面的名称,它将出现在 Dashy 的页面导航中。例子中的 ad 是该附加页面的名称。
  • path: 这个字段指定附加页面的路径,它指向一个路径为/app/user-data的件(通常是.yml 格式的配置文件),该文件中包含该附加页面的具体内容和配置。例子中的 asdasd.yml 就是该页面的配置文件路径。

appConfig

负责 Dashy 应用的关键配置,例如主题、布局和其他全局设置。

appConfig:
  statusCheck: true
  theme: dracula
  fontAwesomeKey: xxxxxxxx
  customCss: '.clock p.time { font-size: 3rem !important; }'
  layout: auto
  iconSize: small
  backgroundImg: https://xxxx.com/xxx.jpg
  auth:
    users: 
      - user: 123
        hash: xxxxxx
        type: admin
  webSearch:
    searchEngine: google
  • statusCheck: true
    启用状态检查功能,Dashy 会监控服务状态并显示结果。
  • theme: dracula
    设置 Dashy 的主题为 dracula,即暗色主题。
  • fontAwesomeKey: xxxxxx
    配置 Font Awesome 图标库的 API 密钥,用于加载图标。
  • customCss: '.clock p.time { font-size: 3rem !important; }'
    自定义 CSS 样式,修改 .clock 类下 .time 元素的字体大小。
  • layout: auto
    自动选择最适合的布局,通常根据屏幕大小和内容动态调整。
  • iconSize: small
    设置图标为小尺寸。
  • backgroundImg: https://xxx.xxx
    设置页面背景图片,使用指定的 URL 地址。
  • auth:
    配置用户身份验证。
    • user123 为用户名。
    • hash: 写入密码的加密哈希值。你可以用下方的简易的加密工具。
    • typeadmin 表示该用户为管理员。
  • webSearch:
    设置搜索引擎为 Google,方便用户在页面上进行搜索。
SHA-256 加密工具

SHA-256 加密工具

加密后的结果:


sections

用于设置页面中间的内容,包括列表、小部件等功能模块的排布和展示。

sections:
  - name: Today
    icon: far fa-smile-beam
    displayData:
      collapsed: false
      hideForGuests: false
    widgets:
      - type: clock
        id: 0_513_clock
      - type: weather
        options:
          apiKey: xxxxxxxxxxxxxxx
          city: Shanghai
        id: 1_513_weather
      - type: crypto-watch-list
        options:
          currency: USD
          sortBy: marketCap
          assets:
            - bitcoin
            - ethereum
            - monero
            - solana
            - polkadot
        id: 2_513_cryptowatchlist
      - type: rss-feed
        options:
          rssUrl: https://rsshub.xxx
          limit: 3
  - name: BIY
    icon: far fa-briefcase
    items:
      - title: Miniflux
        icon: favicon
        url: https://xxx.com
        description: Miniflux
        tags:
          - rss
          - miniflux

RSS Feed

这个小组件可以用来显示来自指定 RSS 源 的最新内容。你可以通过设置 rssUrl 来连接你自己搭建的 RssHub 或其他 RSS 源,并根据需要限制显示的条目数(这里配置的是最多显示 3 条内容)。

HestiaCP 安装 RSSHub 以及 RSS 阅读器教程
欢迎来到 HestiaCP 系列教程的最新篇章。从这里开始,我们将专注于精简的关键内容,为你快速核心操作。 如果你希望了解更多详细的使用方法和操作技巧,建议你回顾之前的系列文章。每一篇文章都通过一个自建软件来介绍具体的操作步骤,例如:Ghost 的部署教程展示了如何在 HestiaCP 上使用 Node.js,qBittorrent 的教程讲解了如何通过 Nginx 进行反向代理,Vaultwarden 的教程演示了如何在 HestiaCP 上部署 Docker 应用,Nestcloud 的教程则说明了如何部署 PHP 项目。 HestiaCP - HOSTEYEHOSTEYE由 FOXCOO 安装 RSSHub 如果想利用HestiaCP强大的备份恢复功能,你可以在/home/user/web/domain/public_html/下新建docker-compose.yml文件。 总之,填入一下内容: services: rsshub:

icon:

Dashy 提供了多种方式来设置服务的图标,我简单说一下自动获取 Favicon 和使用自定义图标。

自动获取 Favicon:Dashy 可以自动从服务的网址获取 Favicon 作为图标。只需在配置中设置 icon: favicon,Dashy 会自动抓取图标。

使用自定义图标:你也可以上传自己的图标,并通过路径引用它。将图标文件(例如 portainer.svg)放到指定目录:/home/user/web/domain/public_html/user-data/item-icons/然后在配置中引用它:icon: portainer.svg

其他的小组件配置官方文档中有非常详细的说明,而且它们的配置也非常简单易懂。如果你有其他组件的需求,可以参考文档进行更改和调整。

接下来,关于如何实现不同组件之间的联动,我将在下一篇文章中进一步详细介绍,敬请期待!

包含的标签:

教程, HestiaCP, Docker

最后更新: December 07, 2024