【Docker项目实战】使用Docker部署Honey个人轻量级仪表盘

举报
江湖有缘 发表于 2024/10/24 11:54:36 2024/10/24
【摘要】 【Docker项目实战】使用Docker部署Honey个人轻量级仪表盘

@TOC

一、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。

hostname IP地址 操作系统版本 Docker版本 镜像版本
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 latest

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
       Docs: https://docs.docker.com
   Main PID: 695 (dockerd)
      Tasks: 135 (limit: 9387)
     Memory: 4.0G
        CPU: 46min 46.854s
     CGroup: /system.slice/docker.service
             ├─  695 /usr/bin/dockerd
             ├─  846 containerd --config /var/run/docker/containerd/containerd.toml

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

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地址。它会直接传递给<a>标签
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/

在这里插入图片描述

六、访问Honey服务

6.1 访问Honey主页

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

在这里插入图片描述

6.2 切换主题

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

在这里插入图片描述

6.3 打开书签

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

在这里插入图片描述

七、总结

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。