docker部署Honey儀表盤實(shí)踐教程
- 1.1 Honey簡(jiǎn)介
- 1.2 主要使用場(chǎng)景
- 2.1 本地環(huán)境規(guī)劃
- 2.2 本次實(shí)踐介紹
- 3.1 檢查Docker服務(wù)狀態(tài)
- 3.2 檢查Docker版本
- 3.3 檢查docker compose 版本
- 5.1 創(chuàng)建部署目錄
- 5.2 新建相關(guān)配置文件
- 5.3 編輯部署文件
- 5.4 創(chuàng)建Honey容器
- 5.5 查看Honey容器狀態(tài)
- 5.6 查看Honey容器日志
- 6.1 訪問Honey主頁(yè)
- 6.2 切換主題
- 6.3 打開書簽
一、Honey介紹
1.1 Honey簡(jiǎn)介
Honey 是一個(gè)輕量級(jí)的儀表盤解決方案,它使用純HTML、CSS和JavaScript編寫,因此不需要任何動(dòng)態(tài)后端或特殊的Web服務(wù)器配置。由于所有的操作都在客戶端完成,Honey能夠開箱即用,非常方便部署在個(gè)人的家庭服務(wù)器上。
1.2 主要使用場(chǎng)景
- 家庭自動(dòng)化控制中心:作為智能家居設(shè)備的中央管理界面,如燈光、溫度調(diào)節(jié)器等。
- 媒體服務(wù)器監(jiān)控:為Plex Media Server、Emby或其他多媒體服務(wù)創(chuàng)建一個(gè)友好的狀態(tài)顯示頁(yè)面。
- 系統(tǒng)性能監(jiān)視:展示CPU使用率、內(nèi)存占用情況以及網(wǎng)絡(luò)流量等信息。
- 個(gè)人項(xiàng)目展示板:對(duì)于開發(fā)者來說,可以用來追蹤GitHub倉(cāng)庫(kù)的狀態(tài)、CI/CD管道進(jìn)展等。
- 數(shù)據(jù)可視化工具:集成第三方API來獲取天氣預(yù)報(bào)、股市行情等,并以圖表形式展現(xiàn)。
- 日歷與提醒:整合Google Calendar API等,顯示即將到來的日程安排和個(gè)人事件。
- 遠(yuǎn)程訪問入口:為其他自我托管的服務(wù)(如Nextcloud, OwnCloud)提供快速鏈接點(diǎn)。
二、本次實(shí)踐規(guī)劃
2.1 本地環(huán)境規(guī)劃
本次實(shí)踐為個(gè)人測(cè)試環(huán)境,操作系統(tǒng)版本為|Ubuntu 22.04.1。
2.2 本次實(shí)踐介紹
1.本次實(shí)踐部署環(huán)境為個(gè)人測(cè)試環(huán)境,生產(chǎn)環(huán)境請(qǐng)謹(jǐn)慎; 2.在Docker環(huán)境下部署honey個(gè)人輕量級(jí)儀表盤。
三、本地環(huán)境檢查
3.1 檢查Docker服務(wù)狀態(tài)
檢查Docker服務(wù)是否正常運(yùn)行,確保Docker正常運(yùn)行。
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應(yīng)用
5.1 創(chuàng)建部署目錄
- 創(chuàng)建部署目錄
mkdir -p /data/honey && cd /data/honey
5.2 新建相關(guān)配置文件
- 創(chuàng)建conf目錄
mkdir -p config
- 新建及編輯manifest.json 文件,內(nèi)容如下所示:
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應(yīng)用中的書簽通過 config.json 文件進(jìn)行配置,可修改配置文件中的書簽為自己的書簽內(nèi)容,可參考如下所示:
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": "百度主頁(yè)", "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" } ] }
鍵名 描述 是否在設(shè)置中 name 主屏幕上顯示的名稱及標(biāo)簽頁(yè)標(biāo)題 desc 主屏幕標(biāo)題下方顯示的簡(jiǎn)短描述 icon 主屏幕上顯示的圖標(biāo)以及網(wǎng)站的favicon wallpaper 當(dāng)禁用深色模式時(shí)可見的背景圖片 wallpaper_dark 當(dāng)啟用深色模式時(shí)可見的背景圖片 dark_mode 指定是否默認(rèn)啟用深色模式 open_new_tab 指定點(diǎn)擊服務(wù)時(shí)是否默認(rèn)在新標(biāo)簽頁(yè)打開 blur 指定卡片背景模糊效果是否默認(rèn)啟用 animations 指定UI動(dòng)畫是否默認(rèn)啟用
- 添加自定義服務(wù):
services
部分是一個(gè)包含對(duì)象的數(shù)組。每個(gè)對(duì)象具有以下結(jié)構(gòu):
鍵名 描述 name 你的服務(wù)名稱 desc 服務(wù)名稱下方顯示的簡(jiǎn)短描述 href 服務(wù)的URL地址。它會(huì)直接傳遞給標(biāo)簽 icon 服務(wù)圖標(biāo)的路徑
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
在`部署目錄下,創(chuàng)建docker-compose.yaml文件,其中宿主機(jī)映射端口等可以自定義配置。
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 創(chuàng)建Honey容器
執(zhí)行以下命令,創(chuàng)建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容器狀態(tài)
檢查Honey容器狀態(tài)狀態(tài),確保Honey容器正常啟動(dòng)。
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服務(wù)正常運(yùn)行。
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服務(wù)
6.1 訪問Honey主頁(yè)
訪問地址:http://192.168.3.88:5600,將IP替換為自己服務(wù)器IP地址。如果無法訪問到以下頁(yè)面,則檢查宿主機(jī)的防火墻是否關(guān)閉或者放行相關(guān)端口,云服務(wù)器則還需要設(shè)置安全組規(guī)則。
6.2 切換主題
點(diǎn)擊Theme,可切換不同主題。
6.3 打開書簽
點(diǎn)擊Services選項(xiàng),可以看到所有書簽列表,打開書簽即可訪問添加的網(wǎng)站。
七、總結(jié)
通過Docker部署Honey個(gè)人輕量級(jí)儀表盤,整個(gè)過程既直觀又高效,僅需幾個(gè)簡(jiǎn)單的步驟即可完成從容器創(chuàng)建到服務(wù)啟動(dòng)的全過程。利用Docker Compose簡(jiǎn)化了多容器應(yīng)用的管理,使得配置文件與環(huán)境變量的調(diào)整變得異常便捷,極大地提升了開發(fā)和部署效率。在整個(gè)實(shí)踐中,不僅能夠輕松地將Honey集成到現(xiàn)有的家庭服務(wù)器環(huán)境中,還能夠通過Docker的強(qiáng)大隔離性確保應(yīng)用程序的安全性和穩(wěn)定性。此外,得益于Docker鏡像的一致性,無論是在開發(fā)、測(cè)試還是生產(chǎn)環(huán)境中,都能保證Honey儀表盤表現(xiàn)一致,減少了因環(huán)境差異導(dǎo)致的問題。使用Docker部署Honey不僅加速了項(xiàng)目的上線時(shí)間,也為后續(xù)維護(hù)提供了極大的便利。
作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~
,