当前位置: 首页 > news >正文

快速部署个人导航页:美好的一天从井然有序开始

很多人都习惯使用浏览器自带的收藏夹来管理自己的书签,然而收藏夹存在着一些问题。

  1. 经过长时间的累积,一些高频使用的重要网站和偶尔信手收藏的链接混在了一起,收藏夹因为内容过多而显得杂乱无章;
  2. 收藏夹没有什么美观可言,就是单纯文字的罗列而已;
  3. 收藏夹并不支持很方便的快速搜索,我们需要进入管理收藏夹的页面才能进行搜索;
  4. 如果到了一台新的设备,我们的收藏夹必须要想办法同步过来才能使用。

老Q也是深受这些问题困扰,于是开始尝试其他的一些导航工具。

在很长的一段时间里,老Q使用的一直是百度的导航,效果大致如下图,也能基本满足老Q的诉求,算是解决了上边提到的那些问题。并且百度首页集成了自家的王牌:搜索框,所以作为一个上网的统一入口是完全没有问题的。

但是后来慢慢就觉得百度首页的可定制程度还是不够高,再加上老Q喜新厌旧,共度多年之后对其有了一些厌倦,于是老Q又开始寻找新的方案。

老Q买了一台支持Docker的NAS,于是就从这个角度入手研究可以通过Docker快速部署的导航页。经过一段时间的初筛和了解,老Q体验了Heimdall、Flare还有Homepage三款导航页,最终发现Homepage简直就是为老Q量身打造的,实在是忍不住要分享给大家。

下面老Q就以绿联DX4600为例,为大家演示如何配置一个漂亮的Homepage导航页。

一、Docker安装Homepage

首先我们打开Docker管理器,进入镜像管理。然后我们点击本地镜像,点击添加,点击公网库,输入ghcr.io/benphelps/homepage,选择latest版本下载。

下载完成后,我们在本地镜像中找到刚刚下载的镜像,点击创建容器。起一个响亮的名字,勾选创建后启动容器,点击下一步。

在基础设置中,重启策略选择“容器退出时总是重启容器”。

在存储空间中,我们在NAS中创建一个属于Homepage的文件夹,并在该文件夹中创建configicons两个子文件夹,并将它们与/app/config/app/public/icons分别绑定,选择读写模式。

在端口中,选择一个没有与现有服务冲突的本地端口号如6666

其他设置均保持默认即可。

二、配置Homepage

配置完成后自动启动容器(若没有自动启动则手动启动一下)。

这时我们就可以通过IP:6666或者域名:6666来访问我们的首页了。当然,这时我们的Homepage还没有进行配置,里边没有什么有用的信息。Homepage的配置会稍显麻烦,因为它暂时还不支持在线编辑,需要我们把配置文件下载下来,修改好以后再上传。

在我们的NAS中,找到刚才我们配置的config文件夹,比如老Q将其配置在了Docker/Homepage/config目录。我们将这个目录下的所有.yaml文件都下载下来。

1. 插件配置

首先我们用文本编辑器打开widgets.yaml,这是我们的插件配置文件。下面老Q以下边这个示例来一一讲解每个配置的作用。

  • greeting中的部分是打招呼的内容,每次我们打开导航页后在左上角会看到这里的文字。
  • resources中的部分是在左上角显示当前设备的资源使用情况,包括CPU、内存和磁盘的使用情况。
  • search中的部分是配置我们想要使用的搜索引擎,目前支持的搜索引擎有baidu/google/bing/duckduckgo/brave,如果这些你都不满意,还可以将你想要使用的搜索引擎的地址填上去,比如老Q使用的是无追搜索。
  • weatherapi这里需要填一下你所在位置的经纬度,以及一个可以免费申请的天气接口的API KEY。API的申请非常简单,在https://www.weatherapi.com/signup.aspx这个地址填好邮箱密码,很快就可以申请到。你所在位置的经纬度,可以通过百度地图的坐标拾取器来获取。
  • datetime这里要填的是时间显示的配置,这里老Q选择了比较详细的long版本。
 ---# For configuration options and examples, please see:# https://gethomepage.dev/en/configs/widgets- greeting:text_size: xltext: 奋进!- resources:cpu: truememory: truedisk: /- search:provider: customurl: https://www.wuzhuiso.com/s?src=extension_popup&q=target: _blank- weatherapi:label: 朝阳latitude: 39.979958longitude: 116.382408units: metric  #imperial apiKey: YOUR API KEYcache: 5 # Time in minutes to cache API responses, to stay within limits- datetime:text_size: xlformat:dateStyle: longtimeStyle: longhour12: false

在这些配置下,老Q的顶部插件栏的效果如下:

2. 页面设置

这里主要配置页面的一些属性:

  • title:页面title,会显示在浏览器页签上。
  • providers:这里把我们刚才申请的天气API KEY填上。
  • language:显示语言,填zh-CN代表中文。
  • base:这里填写我们的导航页的访问地址。
  • backgroud:背景图片的URL。
  • favicon:导航页站点图标的URL。
  • theme:主题,主要支持日间主题和夜间主题。
  • color:页面配色。
  • ……

还有很多配置的细节,老Q在这里就不细说了,大家可以自己体验一下,选择自己最喜欢的版本。

 ---# For configuration options and examples, please see:# https://gethomepage.dev/en/configs/settingstitle: 导航providers:weatherapi: YOUR API KEYlanguage: zh-CNbase: your_homepage_urlbackground: your_image_urlfavicon: your_favicon_urltheme: dark  # or lightcolor: slate  # slate, gray, zinc, neutral, stone, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose, red, white

3. 服务配置

这里可以把我们在用的一些Docker服务给配置上。大家可以直接复制以下内容,然后按这个格式结合自己的实际情况增删即可。

---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/services- 文字:- 书库:href: https://talebook.xxxx.fundescription: TaleBook在线书库- 小说:href: https://reader.xxxx.fundescription: Reader3.0- 笔记:href: https://siyuan.xxxx.fundescription: 思源笔记- MD:href: https://md.xxxx.fundescription: Markdown- 资源:- Jackett:href: https://jackett.xxxx.fundescription: Jackett- WebDav:href: https://webdav.xxxx.fundescription: WebDav- 网络:- DDNS:href: https://ddns.xxxx.fundescription: DDNS-GO- Nginx:href: https://nginx.xxxx.fundescription: NginxWebUI- Firefox:href: https://firefox.xxxx.fundescription: firefox- 数据库:- DBGate:href: https://dbgate.xxxx.fundescription: DBGate- PMA:href: https://pma.xxxx.fundescription: phpMyAdmin

4. 书签配置

按照如下格式配置,老Q把常用的一些网站都给贴上去了。

 ---# For configuration options and examples, please see:# https://gethomepage.dev/en/configs/bookmarks- 搜索:- 百度:- abbr: BDhref: https://www.baidu.com- 谷歌:- abbr: GGhref: https://www.google.com- 无追:- abbr: WZhref: https://www.wuzhuiso.com/   - 云平台:- 腾讯云:- abbr: TChref: https://console.cloud.tencent.com/- 阿里云:- abbr: AChref: https://home.console.aliyun.com/home/dashboard/ProductAndService- 七牛云:- abbr: QChref: https://portal.qiniu.com/home- Gitee:- abbr: GThref: https://gitee.com/xxxx- 自媒体:- 公众号:- abbr: GZHhref: https://mp.weixin.qq.com/- 头条号:- abbr: TTHhref: https://mp.toutiao.com/- 知乎:- abbr: ZHhref: https://www.zhihu.com/people/data-insights- CSDN:- abbr: CSDNhref: https://blog.csdn.net/- 百家号:- abbr: BJHhref: https://baijiahao.baidu.com/- 简书:- abbr: JShref: https://www.jianshu.com/u/748cd3bc831b- 学习平台:- 豆瓣阅读:- abbr: DBhref: https://read.douban.com- 网易云阅读:- abbr: YYDhref: https://yuedu.163.com/- W3Cschool:- abbr: W3Chref: https://www.w3cschool.cn/- 经管之家:- abbr: JGhref: https://bbs.pinggu.org/- 异步社区:- abbr: YBhref: https://www.epubit.com/- 图灵社区:- abbr: TLhref: https://www.ituring.com.cn/- 博文视点:- abbr: BWhref: http://www.broadview.com.cn/book?tab=ebook- 机工新阅读:- abbr: JGhref: http://www.cmpreading.com/homepage- 网易云课堂:- abbr: YKThref: https://study.163.com/- 黑苹果:- 黑苹果社区:- abbr: OSXhref: https://osx.cx/- 黑苹果乐园:- abbr: LYhref: https://mackext.com/- 黑苹果星球:- abbr: XQhref: https://heipg.cn/- MacSC:- abbr: SChref: https://mac.macsc.com/

5. DockerK8S

这两个目前我使用绿联DX4600没有配置成功,目前绿联DX4600在这一块儿还是存在限制。如果配置成功的话,理论上是可以自动发现我们已经部署的其他Docker服务的。不过也无伤大雅,目前的效果已经让老Q很满意了。

6. 上传配置文件

把我们修改好的配置文件上传到刚才我们下载的目录,并替换掉原来的文件。这时候再打开我们的导航页,我们就会发现它已经自动更新了!

三、成品展示

给大家展示一下老Q的导航页的效果图。这种简约的风格老Q非常喜欢。

当然,如果你喜欢花里胡哨的风格,并且你的设备是群晖、威联通等自由度比较高的NAS或者是一台云主机/服务器,那么你还可以实现这样的效果。

老Q会持续为大家献上大数据、量化、爬虫和NAS相关的内容,欢迎大家关注!

相关文章:

快速部署个人导航页:美好的一天从井然有序开始

很多人都习惯使用浏览器自带的收藏夹来管理自己的书签,然而收藏夹存在着一些问题。 经过长时间的累积,一些高频使用的重要网站和偶尔信手收藏的链接混在了一起,收藏夹因为内容过多而显得杂乱无章;收藏夹没有什么美观可言&#xf…...

【Python】如何在 Python 中使用“柯里化”编写干净且可重用的代码

对于中级Python开发者来说,了解了Python的基础语法、库、方法,能够实现一些功能之后,进一步追求的就应该是写出优雅的代码了。 这里介绍一个很有趣的概念“柯里化”。 所谓柯里化(Currying)是把接受多个参数的函数变换…...

ROS笔记(4)——发布者Publisher与订阅者Subscribe的编程实现

发布者 以小海龟的话题消息为例,编程实现发布者通过/turtle1/cmd_vel 话题向 turtlesim节点发送消息,流程如图 步骤一 创建功能包(工作空间为~/catkin_ws/src) $ cd ~/catkin_ws/src $ catkin_create_pkg learning_topic roscpp rospy s…...

Linux进程概念(一)

文章目录Linux进程概念(一)1. 冯诺依曼体系结构2. 操作系统(Operator System)2.1 考虑2.2 如何理解操作系统对硬件做管理?2.3 操作系统为什么要对软硬件资源做管理呢?2.4 系统调用和库函数概念2.5 计算机体系结构3. 进程的初步理解…...

Leetcode.1124 表现良好的最长时间段

题目链接 Leetcode.1124 表现良好的最长时间段 Rating : 1908 题目描述 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格…...

达梦数据库会话、事务阻塞排查步骤

查询阻塞的事务IDselect * from v$trxwait order by wait_time desc;--单机select * from v$dsc_trxwait order by wait_time desc;–DSC集群查询阻塞事务的会话信息select sf_get_session_sql(sess_id),* from v$sessions where trx_id69667;--单机select sf_get_session_sql(…...

sqlServer 2019 开发版(Developer)下载及安装

下载软件 官网只有2022的,2019使用百度网盘进行下载 安装下崽器 选择自定义安装 选择语言、以及安装位置 点击“安装” 安装 SQL Server 可能的故障 以上步骤安装后会弹出以上界面,如果未弹出,手动去安装目录下点击 SETUP.EXE 文件…...

使用Arthas定位问题

功能概述 首先,Arthas的常用功能大概有以下几个: 解决依赖冲突 sc命令:模糊查看当前 JVM 中是否加载了包含关键字的类,以及获取其完全名称。 sc -d 关键字 注意使用 sc -d 命令,获取 classLoaderHash命令&#xff1a…...

性能测试之tomcat+nginx负载均衡

nginx tomcat 配置准备工作:两个tomcat 执行命令 cp -r apache-tomcat-8.5.56 apache-tomcat-8.5.56_2修改被复制的tomcat2下conf的server.xml 的端口号,不能与tomcat1的端口号重复,不然会启动报错 ,一台电脑上想要启动多个tomcat&#xff0c…...

【手写 Vuex 源码】第十一篇 - Vuex 插件的开发

一,前言 上一篇,主要介绍了 Vuex-namespaced 命名空间的实现,主要涉及以下几个点: 命名空间的介绍和使用;命名空间的逻辑分析与代码实现;命名空间核心流程梳理; 本篇,继续介绍 Vu…...

opencv基础知识和绘图图形

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

15- 决策回归树, 随机森林, 极限森林 (决策树优化) (算法)

1. 决策回归树: from sklearn.tree import DecisionTreeRegressor model DecisionTreeRegressor(criterionmse,max_depth3) model.fit(X,y) # X是40个点 y是一个圆 2. 随机森林 稳定预测: from sklearn.ensemble import RandomForestClassifier # model RandomForestC…...

Flink相关的记录

Flink源码编译首次编译的时候,去除不必要的操作,同时install会把Flink中的module安装到本地仓库,这样依赖当前module的其他组件就无需去远程仓库拉取当前module,节省了时间。mvn clean install -T 4 -DskipTests -Dfast -Dmaven.c…...

配置可视化-基于form-render的无代码配置服务(一)

背景 有些业务场景需要产品或运营去配置JSON数据提供给开发去使用(后面有实际业务场景的说明),原有的业务流程,非开发人员(后面直接以产品指代)把数据交给开发,再由开发去更新JSON数据。对于产…...

Java 代理模式详解

1、代理模式 代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 代理模式的主要作用是扩展目标对象…...

知识付费小程序怎么做_分享知识付费小程序的作用

在线知识付费产业的主要业务逻辑是基于用户的主动学习需求,为其提供以跨领域基础知识与技能为核心的在线知识服务,提升其达到求知目的的效率。公众号和小程序的迅速发展,又为知识付费提供了技术支持,从而促进了行业的进一步发展。…...

14- 决策树算法 (有监督学习) (算法)

决策树是属于有监督机器学习的一种决策树算法实操: from sklearn.tree import DecisionTreeClassifier # 决策树算法 model DecisionTreeClassifier(criterionentropy,max_depthd) model.fit(X_train,y_train)1、决策树概述 决策树是属于有监督机器学习的一种,起源…...

如何编译和运行C++程序?

C 和C语言类似,也要经过编译和链接后才能运行。在《C语言编译器》专题中我们讲到了 VS、Dev C、VC 6.0、Code::Blocks、C-Free、GCC、Xcode 等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C 程序,步骤是一样的&#…...

Golang 给视频添加背景音乐 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供给视频添加背景音乐,一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博客-CSDN博客 …...

让AI护理医疗:解决卫生系统的痛点

一、引言 1.对医疗领域中AI技术的介绍 随着人工智能的不断发展,它已经成为了各个领域中的重要组成部分。在医疗领域中,AI技术也逐渐发挥着越来越重要的作用。从诊断到治疗,从健康管理到研究,人工智能已经深刻地影响着医疗领域的…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...