Homer:一个简单的静态主页

news2024/12/26 11:31:46

在这里插入图片描述

什么是 Homer ?

Homer 是一个完全静态的 html/js 仪表板,基于一个简单的 yaml 配置文件。它旨在由 HTTP 服务器提供服务,如果您直接通过 file:// 协议打开 index.html,它将无法工作。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 homer ,选择第一个 b4bz/homer,版本选择 latest 或者 v23.02.02

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 homer,并在其中建一个子文件夹assets,需要给 assets 增加 Everyone 的读写权限

文件夹装载路径说明
docker/homer/assets/www/assets 存放设置文件

在这里插入图片描述

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
80588080

在这里插入图片描述

环境

可变
INIT_ASSETS缺省值为 1
SUBFOLDER缺省值为 null
PORT缺省值为 8080
  • INIT_ASSETS:默认为 1,会安装示例配置文件来帮助您入门。
  • SUBFOLDER:如果您想在子文件夹中托管 Homer,(例如:http://my-domain/homer),将 SUBFOLDER设置为子文件夹路径(/homer)。
  • PORT:如果您想将 Homer 的内部端口从默认的 8080更改为您选择的端口。

以上几个参数,老苏都采用的默认值

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 homer 和 子目录
mkdir -p /volume2/docker/homer/assets

# 进入 homer 目录
cd /volume2/docker/homer

# 修改目录权限
chmod 777 assets

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name homer \
   -p 8058:8080 \
   -v $(pwd)/assets:/www/assets \
   b4bz/homer:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "2"

services:
  homer:
    image: b4bz/homer
    container_name: homer
    volumes:
      - ./assets/:/www/assets
    ports:
      - 8058:8080
    user: 1000:1000 
    environment:
      - INIT_ASSETS=1 # default

然后执行下面的命令

# 新建文件夹 homer 和 子目录
mkdir -p /volume2/docker/homer/assets

# 进入 homer 目录
cd /volume2/docker/homer

# 修改目录权限
chmod 777 assets

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8058 就能看到主界面

在这里插入图片描述

因为使用了默认的环境变量,所以安装了示例,进入 assets,找到 config.yml 文件

在这里插入图片描述

其中 links 节对应于网页的导航条部分,而 services 节对应于我们要设置的书签

老苏将 links 部分改成了下面这样

记得将 config.yml 的编码改为 UTF-8,否则中文会显示成乱码

links:
  - name: "老苏的博客"
    icon: "fab fa-github"
    url: "https://laosu.cf"
    target: "_blank" # optional html a tag target attribute
  - name: "CSDN博客"
    icon: "fas fa-book"
    url: "https://blog.csdn.net/wbsu2004"

保存之后,只要刷新页面就可以了,不需要重启容器

在这里插入图片描述

接下来改改 services

logo 可以保存到 assets/icons 目录中,也可以直接用 url

services:
  - name: "Applications"
    icon: "fas fa-cloud"
    items:
      - name: "国内可用ChatGPT"
        logo: "https://www.sunboy.cf/favicon.svg"
        subtitle: "不用填API Key可直接用"
        tag: "chatgpt"
        keywords: "chatgpt"
        url: "https://www.sunboy.cf/"
        target: "_blank" # optional html a tag target attribute
      - name: "poe"
        logo: "https://poe.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FchatGPTAvatar.04ed8443.png&w=48&q=75"
        subtitle: "需要科学上网"
        tag: "chatgpt"
        keywords: "chatgpt"
        url: "https://poe.com/ChatGPT"
        target: "_blank"
      - name: "DoGPT"
        logo: "https://pbs.twimg.com/profile_images/1604437547836248066/7RscimSD_400x400.png"
        subtitle: "自动化的GPT助手,点击试用,无需API。"
        tag: "chatgpt"
        keywords: "chatgpt"
        url: "https://www.dogpt.ai/"
        target: "_blank"

本文完成于 4 月,上面的网址,有些已不能使用;

在这里插入图片描述

如果要增加一个分组也很简单,只要增加一组

  - name: "Applications"
    icon: "fas fa-cloud"
    items:

还是举个栗子吧,这样看起来会更容易理解

services:
  - name: "人工智能"
    icon: "fas fa-cloud"
    items:
      - name: "国内可用ChatGPT"
        logo: "https://www.sunboy.cf/favicon.svg"
        subtitle: "不用填API Key可直接用"
        tag: "chatgpt"
        keywords: "chatgpt"
        url: "https://www.sunboy.cf/"
        target: "_blank" # optional html a tag target attribute
        
  - name: "老苏的博客"
    icon: "fa-solid fa-blog"
    items:
      - name: "老苏的博客"
        logo: "https://laosu.cf/images/laosu_wx.jpg"
        subtitle: "各种折腾"
        tag: "blog"
        keywords: "nas,docker"
        url: "https://laosu.cf"
        target: "_blank" 

中间的 demo 是消息,放在 message 节,不需要可以删掉,也可以设置需要提醒的内容

在这里插入图片描述

是不是挺简单的?

参考文档

bastienwirtz/homer: A very simple static homepage for your server.
地址:https://github.com/bastienwirtz/homer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/842671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RISC-V基础之函数调用(四)非叶函数调用(包含实例)

叶函数是指不调用其他函数,也不改变任何非易失性寄存器的函数2。叶函数通常是一些简单的操作,如数学运算或逻辑判断。叶函数的特点是可以通过模拟返回来展开,即不需要保存或恢复寄存器的状态。 非叶函数是指调用其他函数或改变非易失性寄存器…

百度智能云“千帆大模型平台”升级:大模型最多,Prompt模板最全

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Rust 原生支持龙架构指令集

导读近日,Rust 开源社区发布 1.71.0 版本,实现对龙架构(LoongArch)指令集的原生支持。 龙架构操作系统发行版和开发者可基于上游社区源代码构建或直接下载 Rust 开源社区发布的龙架构二进制版本。Rust 开发者将在龙架构平台上获得…

【Vue】Parsing error: No Babel config file detected for ... vue

报错 Parsing error: No Babel config file detected for E:\Study\Vue网站\实现防篡改的水印\demo02\src\App.vue. Either disable config file checking with requireConfigFile: false, or configure Babel so that it can find the config files.             …

23年电赛D题-信号调制方式识别与参数估计装置

红叶何时落水 题目 题目分析 该题目的是制作一个信号检测以及解调装置 主要的任务有三个 1.六种信号的识别 2.信号相关参数的测量 3.信号解调 任务一 识别信号有很多思路,最简单的方式便是通过对信号进行FFT分析,分析其中的各个谐波的特征值。 …

自动化测试CSS元素定位

目录 1.1 CSS定位 1.1.1 绝对路径定位 1.1.2 相对路径定位 1.1.3 类名定位 1.1.4 属性定位 1.1.4.1 ID属性定位 1.1.4.2 其他属性定位 1.1.4.3 模糊属性定位 1.1.5 子页面元素查找 1.1.6 伪类定位 1.1 CSS伪类 1.1 CSS定位 1.1.1 绝对路径定位 目标 查找第一个文…

CS 144 Lab Seven -- putting it all together

CS 144 Lab Seven -- putting it all together 引言测试lab7.ccUDPSocketNetworkInterfaceAdapterTCPSocketLab7main方法子线程 小结 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab Six 对应的PDF: Checkpoint 6: putting it all together 引言 本实验无需进行任何编…

HubSpot网页设计神器,你想要的Landing Page都在这里!

在当今数字化时代,Landing Page(落地页)已成为营销策略中不可或缺的一环。它是与潜在客户首次接触的窗口,能够直接影响转化率和销售结果。而作为一款领先的营销自动化工具,HubSpot为企业提供了打造引人注目的Landing P…

uniapp微信小程序 401时重复弹出登录弹框问题

APP.vue 登陆成功后,保存登陆信息 if (res.code 200) {uni.setStorageSync(loginResult, res)uni.setStorageSync(token, res.token);uni.setStorageSync(login,false);uni.navigateTo({url: "/pages/learning/learning"}) }退出登录 toLogout: func…

Spring Cloud 的版本和SpringBoot的版本

Spring Cloud 的版本选择 Spring Cloud 和SpringBoot的版本存在对应关系 Spring Cloud 的版本和SpringBoot的版本,存在对应关系。最新的SpringCloud版本(发布文章时为2022.0.3),需要SpringBoot(3.0.9) 的…

爬虫获取电影数据----以沈腾参演电影为例

数据可视化&分析实战 1.1 沈腾参演电影数据获取 文章目录 数据可视化&分析实战前言1. 网页分析2. 构建数据获取函数2.1 网页数据获取函数2.2 网页照片获取函数 3. 获取参演影视作品基本数据4. 电影详细数据获取4.1 导演、演员、描述、类型、投票人数、评分信息、电影海…

【云原生】Docker-compose中所有模块学习

compose模块 模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。 version: "3&quo…

STM32基础入门学习笔记:内部高级功能应用

文章目录: 一:低功耗模式 1.睡眠模式测试程序 NVIC.h NVIC.c key.h key.c main.c 2.停机模式测试程序 main.c 3.待机模式测试程序 main.c 二:看门狗 1.独立看门狗测试程序 iwdg.h iwdg.c main.c 2.窗口看门狗测试程序 wwdg…

Unity面板究极优化

首先对于大项目来说UI首选一定的UGUI,目前没有啥可选的余地。多一点都是对性能的负担,UGUI底层基于多线程技术,可以有效分担压力,对于一些不是那么重的面板几乎无感。 无论其他面板只是在此基础上修改的,但每多一层&am…

机器学习---监督学习和非监督学习

根据训练期间接受的监督数量和监督类型,可以将机器学习分为以下四种类型:监督学习、非监督学习、半监督学习和强化学习。 监督学习 在监督学习中,提供给算法的包含所需解决方案的训练数据,成为标签或标记。 简单地说,…

40.利用欧拉法求解微分方程组(matlab程序)

1.简述 求解微分方程的时候,如果不能将求出结果的表达式,则可以对利用数值积分对微分方程求解,获取数值解。欧拉方法是最简单的一种数值解法。前面介绍过MATLAB实例讲解欧拉法求解微分方程,今天实例讲解欧拉法求解一阶微分方程组。…

简单认识ELK日志分析系统

一. ELK日志分析系统概述 1.ELK 简介 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 好处: (1)提高安全…

OnlyOffice社区版破解最大连接限制部署

onlyoffice社区版部署并且破解最大连接数 docker镜像 docker pull onlyoffice/documentserver:5.3.1.265.4或更高的版本已经解决了此方法的Bug 运行镜像 docker run -d --name onlyoffice --restartalways -p 暴露端口号:80 onlyoffice/documentserver:5.3.1.26进入容器内部…

windows系统安装ElasticSearch7.9.3笔记

windows系统安装ElasticSearch7.9.3笔记 从es中文社区 或elastic官网下载安装包 ES中文社区-浏览器地址https://elasticsearch.cn/download/ 下载7.9.3版本的相关安装包 下载的安装包清单如下 开始配置使用带ik分词器和拼音分词器的ES7.9.3 分别解压这3个zip 拷贝ik分词器…

48.C++ vector容器(模板类)

今天学习了C中的vector容器,它提供动态数组功能,方便管理和存储数据。支持动态调整大小,简化了数组操作,使代码更灵活、高效。实在是太牛了,后悔没有早点学习容器。 目录 一、vector简介 二、头文件和命名空间 三…