快速部署个人导航页:美好的一天从井然有序开始
很多人都习惯使用浏览器自带的收藏夹来管理自己的书签,然而收藏夹存在着一些问题。
- 经过长时间的累积,一些高频使用的重要网站和偶尔信手收藏的链接混在了一起,收藏夹因为内容过多而显得杂乱无章;
- 收藏夹没有什么美观可言,就是单纯文字的罗列而已;
- 收藏夹并不支持很方便的快速搜索,我们需要进入管理收藏夹的页面才能进行搜索;
- 如果到了一台新的设备,我们的收藏夹必须要想办法同步过来才能使用。
老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的文件夹,并在该文件夹中创建config
和icons
两个子文件夹,并将它们与/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. Docker
和K8S
这两个目前我使用绿联DX4600没有配置成功,目前绿联DX4600在这一块儿还是存在限制。如果配置成功的话,理论上是可以自动发现我们已经部署的其他Docker服务的。不过也无伤大雅,目前的效果已经让老Q很满意了。
6. 上传配置文件
把我们修改好的配置文件上传到刚才我们下载的目录,并替换掉原来的文件。这时候再打开我们的导航页,我们就会发现它已经自动更新了!
三、成品展示
给大家展示一下老Q的导航页的效果图。这种简约的风格老Q非常喜欢。
当然,如果你喜欢花里胡哨的风格,并且你的设备是群晖、威联通等自由度比较高的NAS或者是一台云主机/服务器,那么你还可以实现这样的效果。
老Q会持续为大家献上大数据、量化、爬虫和NAS相关的内容,欢迎大家关注!
相关文章:
快速部署个人导航页:美好的一天从井然有序开始
很多人都习惯使用浏览器自带的收藏夹来管理自己的书签,然而收藏夹存在着一些问题。 经过长时间的累积,一些高频使用的重要网站和偶尔信手收藏的链接混在了一起,收藏夹因为内容过多而显得杂乱无章;收藏夹没有什么美观可言…...
【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命令:…...
性能测试之tomcat+nginx负载均衡
nginx tomcat 配置准备工作:两个tomcat 执行命令 cp -r apache-tomcat-8.5.56 apache-tomcat-8.5.56_2修改被复制的tomcat2下conf的server.xml 的端口号,不能与tomcat1的端口号重复,不然会启动报错 ,一台电脑上想要启动多个tomcat,…...
【手写 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技术也逐渐发挥着越来越重要的作用。从诊断到治疗,从健康管理到研究,人工智能已经深刻地影响着医疗领域的…...
Windows 离线安装 MySQL 8
目录 1. 下载离线安装包 2. 上传解压 3 配置 my.ini 文件 4 设置系统环境变量 5 安装 MySQL 6 登录 MySQL 客户环境是内网环境,不能访问外网,只能离线安装 MySQL 了。 1. 下载离线安装包 MySQL 离线压缩包官网下载地址:MySQL :: Down…...
【前端攻城狮之vue基础】02路由+嵌套路由+路由query/params传参+路由props配置+replace属性+编程式路由导航+缓存路由组件
路由的基础知识1.路由简介2.路由基本使用3.嵌套路由4.传递路由的query传参# 5.传递路由的params参数6.路由的props传参配置7.路由router-link标签的replace属性8.编程式路由导航9.缓存路由组件1.路由简介 路由是一条条对应的key-value关系,key就是前端地址栏的路径…...
CHAPTER 1 Zabbix介绍及安装
Zabbix介绍及安装1.1 Zabbix监控1 为什么要监控1.1 网站可用性2 监控什么东西2.1 监控范畴3 怎么来监控3.1 远程管理服务器3.2 监控硬件3.3 查看cpu相关3.4 内存3.5 磁盘3.6 监控网络4 监控工具总览5 zabbix介绍5.1 zabbix的组成5.2 zabbix监控范畴1.2 安装zabbix1 环境检查2 安…...
认识V模型、W模型、H模型
软件测试与软件工程息息相关,软件测试是软件工程组成中不可或缺的一部分。 在软件工程、项目管理、质量管理得到规范化应用的企业,软件测试也会进行得比较顺利,软件测试发挥的价值也会更大。 要关注软件工程、质量管理以及配置管理与软件测试…...
excel ttest检测
1、excel函数含义 TTEST(array1,array2,tails,type) ▪ Array1: 第一组数据集 ▪ Array2: 第二组数据集 ▪ Tails: 用于定义所返回的分布的尾数: 1 代表单尾;2 代表双尾 ▪ Type: 用于定义 t-检验的类型: 1 代表成对检验;2 代表双样本等方差假设&am…...
PDFPrinting.Net操作进行细粒度控制
PDFPrinting.Net操作进行细粒度控制 PDFPrinting.Net能够容易且灵活地预测完美的打印结果以及用户文件的示例性显示。可以快速浏览.NET PDF打印中最关键的元素。如果用户需要获得更详细的概述,那么他可以查看快速入门手册,甚至是现有文档的详细概述参考。…...
SegPGD
在这项工作中,我们提出了一种有效和高效的分割攻击方法,称为SegPGD。此外,我们还提供了收敛性分析,表明在相同次数的攻击迭代下,所提出的SegPGD可以创建比PGD更有效的对抗示例。此外,我们建议应用我们的Seg…...
ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门
ESP-IDF Vscode ESP32 开发环境搭建以及开发入门 文章目录ESP-IDF Vscode ESP32 开发环境搭建以及开发入门1. 前言2. 下载开发工具3. 配置工具4. 创建工程5. 解决vscode找不到头文件,波浪线警告6. 添加自己的组件6.1 组件说明6.2 添加项目组件6.3 添加扩展组件7. …...
SpringMvc的请求和响应
SpringMvc的数据响应 1.springmvc的数据相应方式 (1)页面跳转 直接返回字符串 通过ModelAndView对象返回 (2)回写数据 直接返回字符串 返回对象或集合 页面跳转 jsp页面 <% page contentType"text/html;charsetUTF-8&q…...
【Vue3】首页主体-面板组件封装
首页主体-面板组件封装 新鲜好物、人气推荐俩个模块的布局结构上非常类似,我们可以抽离出一个通用的面板组件来进行复用 目标:封装一个通用的面板组件 思路分析 图中标出的四个部分都是可能会发生变化的,需要我们定义为可配置主标题和副标题…...
网站建设怎样把网页连接起来/沈阳seo推广
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 基本思路:建立一个包含K个元素的大顶堆。 注:python中貌似只能直接建小顶堆。 # -*- coding:utf-8 -*- class Solution:def …...
报社新闻网站建设方案/关键词搜索引擎
近日,无论是国内运营商还是国外运营商,都打出来一个名词——无限套餐流量。 据了解,目前美国的主要移动运营商都已经开始提供无限流量套餐,消费者将不再需要在蜂窝网络和WiFi之间来回切换,来避免高昂的流量费。 国内运…...
项目管理软件p6/seo关键词搜索优化
详见原文链接 http://www.killdb.com/2012/03/13/using-dd-command-to-copy-datafile-in-asm.html...
seo营销全景图/seo论坛
参考:https://gitee.com/veni0/robotgo#examples 但是编译不成功 找到这个:https://gitee.com/veni0/robotgo#examples (这里还有一篇参考:https://gitee.com/veni0/robotgo#examples ) 原来还是安装的Mingw有问题 用…...
app开发功能价格表/网站排名优化服务
如果嵌套集具有开箱即用的更好的功能将是不错的.您发现的技巧是从平面集构建树:>以一组按lft排序的所有节点开始>第一个节点是根添加它,因为树的根移动到下一个节点>如果它是前一个节点的子节点(prev.lft和prev.rht之间的lft)将一个子节点添加到树中并向前…...
wordpress 删除 分类存档/网站搭建费用
一:阻塞与非阻塞阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会…...