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)景

  1. 家庭自動(dòng)化控制中心:作為智能家居設(shè)備的中央管理界面,如燈光、溫度調(diào)節(jié)器等。
  2. 媒體服務(wù)器監(jiān)控:為Plex Media Server、Emby或其他多媒體服務(wù)創(chuàng)建一個(gè)友好的狀態(tài)顯示頁(yè)面。
  3. 系統(tǒng)性能監(jiān)視:展示CPU使用率、內(nèi)存占用情況以及網(wǎng)絡(luò)流量等信息。
  4. 個(gè)人項(xiàng)目展示板:對(duì)于開發(fā)者來說,可以用來追蹤GitHub倉(cāng)庫(kù)的狀態(tài)、CI/CD管道進(jìn)展等。
  5. 數(shù)據(jù)可視化工具:集成第三方API來獲取天氣預(yù)報(bào)、股市行情等,并以圖表形式展現(xiàn)。
  6. 日歷與提醒:整合Google Calendar API等,顯示即將到來的日程安排和個(gè)人事件。
  7. 遠(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。

Docker部署Honey儀表盤實(shí)踐教程

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/ Docker部署Honey儀表盤實(shí)踐教程在這里插入圖片描述

六、訪問Honey服務(wù)

6.1 訪問Honey主頁(yè)

訪問地址:http://192.168.3.88:5600,將IP替換為自己服務(wù)器IP地址。如果無法訪問到以下頁(yè)面,則檢查宿主機(jī)的防火墻是否關(guān)閉或者放行相關(guān)端口,云服務(wù)器則還需要設(shè)置安全組規(guī)則。

Docker部署Honey儀表盤實(shí)踐教程

6.2 切換主題

點(diǎn)擊Theme,可切換不同主題。

Docker部署Honey儀表盤實(shí)踐教程

6.3 打開書簽

點(diǎn)擊Services選項(xiàng),可以看到所有書簽列表,打開書簽即可訪問添加的網(wǎng)站。

Docker部署Honey儀表盤實(shí)踐教程

七、總結(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),歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。