docker部署Honey仪表盘实践教程

  • 1.1 Honey简介
  • 1.2 主要使用场景
  • 2.1 本地环境规划
  • 2.2 本次实践介绍
  • 3.1 检查Docker服务状态
  • 3.2 检查Docker版本
  • 3.3 检查docker compose 版本
  • 5.1 创建部署目录
  • 5.2 新建相关配置文件
  • 5.3 编辑部署文件
  • 5.4 创建Honey容器
  • 5.5 查看Honey容器状态
  • 5.6 查看Honey容器日志
  • 6.1 访问Honey主页
  • 6.2 切换主题
  • 6.3 打开书签

一、Honey介绍

1.1 Honey简介

Honey 是一个轻量级的仪表盘解决方案,它使用纯HTML、CSS和JavaScript编写,因此不需要任何动态后端或特殊的Web服务器配置。由于所有的操作都在客户端完成,Honey能够开箱即用,非常方便部署在个人的家庭服务器上。

1.2 主要使用场景

  1. 家庭自动化控制中心:作为智能家居设备的中央管理界面,如灯光、温度调节器等。
  2. 媒体服务器监控:为Plex Media Server、Emby或其他多媒体服务创建一个友好的状态显示页面。
  3. 系统性能监视:展示CPU使用率、内存占用情况以及网络流量等信息。
  4. 个人项目展示板:对于开发者来说,可以用来追踪GitHub仓库的状态、CI/CD管道进展等。
  5. 数据可视化工具:集成第三方API来获取天气预报、股市行情等,并以图表形式展现。
  6. 日历与提醒:整合Google Calendar API等,显示即将到来的日程安排和个人事件。
  7. 远程访问入口:为其他自我托管的服务(如Nextcloud, OwnCloud)提供快速链接点。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

Docker部署Honey仪表盘实践教程

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署honey个人轻量级仪表盘。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2024-09-09 10:43:35 CST; 3 weeks 5 days ago Main PID: 695 (dockerd) Tasks: 135 (limit: 9387) Memory: 4.0G CPU: 46min 46.854s CGroup: /system.slice/docker.service ├─ 695 /us

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:~# docker compose version Docker Compose version v2.19.1

四、下载Honey镜像

拉取Honey镜像,镜像名称为:ghcr.io/dani3l0/honey:latest

root@jeven01:~# docker pull ghcr.io/dani3l0/honey:latest latest: Pulling from dani3l0/honey c926b61bad3b: Pull complete c88699529559: Pull complete 06a2b714e326: Pull complete af1ee6ee7eef: Pull complete 8189961be670: Pull complete 8b39061a59eb: Pull complete ef32d35d2f3b: Pull complete 38e382e42c01: Pull complete Digest: sha256:482197ee0f92ed010c20a9aba0eff55dc9203f5531294ee486393c60d09ab945 Status: Downloaded newer image for ghcr.io/dani3l0/honey:latest ghcr.io/dani3l0/honey:latest

五、部署Honey应用

5.1 创建部署目录

  • 创建部署目录

mkdir -p /data/honey && cd /data/honey

5.2 新建相关配置文件

  • 创建conf目录

mkdir -p config

  • 新建及编辑manifest.json 文件,内容如下所示:

vim config/manifest.json

{ "name": "honey", "short_name": "honey", "description": "Nice and sweet place for all your self-hosted services", "start_url": "/", "background_color": "#000", "display": "standalone", "icons": [ { "src": "/img/icon.png", "sizes": "192x192 256x256 512x512" } ] }

  • 新建及编辑config.json 文件,Honey应用中的书签通过 config.json 文件进行配置,可修改配置文件中的书签为自己的书签内容,可参考如下所示:

vim config/config.json

{ "ui": { "name": "honey", "desc": "Nice and sweet place for all your self-hosted services.", "icon": "img/icon.png", "wallpaper": "img/background.jpg", "wallpaper_dark": "img/background-dark.jpg", "dark_mode": false, "open_new_tab": false, "blur": true, "animations": true }, "services": [ { "name": "百度", "desc": "百度主页", "href": "https://www.baidu.com/", "icon": "img/preview/caldav.png" }, { "name": "Stirling-PDF", "desc": "PDF工具", "href": "http://192.168.3.86:6080/", "icon": "img/preview/files.png" } ] }

键名 描述 是否在设置中 name 主屏幕上显示的名称及标签页标题 desc 主屏幕标题下方显示的简短描述 icon 主屏幕上显示的图标以及网站的favicon wallpaper 当禁用深色模式时可见的背景图片 wallpaper_dark 当启用深色模式时可见的背景图片 dark_mode 指定是否默认启用深色模式 open_new_tab 指定点击服务时是否默认在新标签页打开 blur 指定卡片背景模糊效果是否默认启用 animations 指定UI动画是否默认启用

  • 添加自定义服务:services 部分是一个包含对象的数组。每个对象具有以下结构:

键名 描述 name 你的服务名称 desc 服务名称下方显示的简短描述 href 服务的URL地址。它会直接传递给标签 icon 服务图标的路径

5.3 编辑部署文件

  • 如果使用docker-cli部署,可参考以下命令:

docker run -d --restart always --name honey -p 5600:4173 -v/data/honey/config:/app/dist/config:ro ghcr.io/dani3l0/honey:latest

在`部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

vim docker-compose.yaml

version: '3.9' services: dani3l0: image: 'ghcr.io/dani3l0/honey:latest' volumes: - '/data/honey/config:/app/dist/config:ro' ports: - '5600:4173' container_name: honey restart: always

5.4 创建Honey容器

执行以下命令,创建Honey容器。

root@jeven01:/data/honey# docker compose up -d [+] Running 2/2 Network honey_default Created 0.1s Container honey Started 0.3s

5.5 查看Honey容器状态

检查Honey容器状态状态,确保Honey容器正常启动。

root@jeven01:/data/honey# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS honey ghcr.io/dani3l0/honey:latest "docker-entrypoint.s…" dani3l0 25 seconds ago Up 24 seconds (health: starting) 0.0.0.0:5600->4173/tcp, :::5600->4173/tcp

5.6 查看Honey容器日志

检查Honey容器日志,确保Honey服务正常运行。

root@jeven01:/data/honey# docker compose logs honey | honey | honey | > honey@2 preview honey | > vite preview --host honey | honey | honey | Local: http://localhost:4173/ honey | Network: http://192.168.80.2:4173/ Docker部署Honey仪表盘实践教程在这里插入图片描述

六、访问Honey服务

6.1 访问Honey主页

访问地址:http://192.168.3.88:5600,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

Docker部署Honey仪表盘实践教程

6.2 切换主题

点击Theme,可切换不同主题。

Docker部署Honey仪表盘实践教程

6.3 打开书签

点击Services选项,可以看到所有书签列表,打开书签即可访问添加的网站。

Docker部署Honey仪表盘实践教程

七、总结

通过Docker部署Honey个人轻量级仪表盘,整个过程既直观又高效,仅需几个简单的步骤即可完成从容器创建到服务启动的全过程。利用Docker Compose简化了多容器应用的管理,使得配置文件与环境变量的调整变得异常便捷,极大地提升了开发和部署效率。在整个实践中,不仅能够轻松地将Honey集成到现有的家庭服务器环境中,还能够通过Docker的强大隔离性确保应用程序的安全性和稳定性。此外,得益于Docker镜像的一致性,无论是在开发、测试还是生产环境中,都能保证Honey仪表盘表现一致,减少了因环境差异导致的问题。使用Docker部署Honey不仅加速了项目的上线时间,也为后续维护提供了极大的便利。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。