Syncthing使用以及服务器搭建

这篇文章介绍的是开源同步软件 Syncthing 的基础使用以及自己服务器的搭建过程 是什么 贴上 Github 地址:Syncthing 是一款可以进行同步的软件,不同于各种“云”(谷歌Sync、坚果云),这款软件没有云端服务 p2p 模式进行数据同步,不存在第三方中心,因此可以认为数据是安全的 如果两个客户端在同一个局域网,则会直接依赖于局域网进行数据传输 如果两个客户端不在同一个局域网,则会通过中继服务器进行传输,中继服务器可以用 default,全球各个地方都架设的有(用户自行架设的),但是用别人服务器的话,还是会担心一些安全问题,尽可能使用自己的服务器 简单描述下我是怎么发现的 开始使用 Logseq 的时候,我发现 Logseq 这个软件我直观的用途应该有两个: 办公时候在电脑上用 随拍、随记、读书,需要随时随地在手机上用 这样就涉及到了一个非常明显的问题:需要在 PC 端和手机端进行数据同步 考虑过几个方式: 通过 Github 做中心,PC 和手机都在使用前做拉取操作 卡在了手机端,尝试了很多软件,没有能很方便的支持的 通过云硬盘同步工具 找了几个遇到各种问题 配置麻烦 数据需要在别人的云端 后来发现了 Syncthing,简单了解了之后发现这个就是我想要的 本来以为会比较困难,没想到使用起来太简单了 怎么用 下载地址:自己直接去 Github 上下载最新版就行 想快速使用的话,就在自己家里面试试,两个手机都连上家里局域网,都安装上这个软件 添加设备 添加共享的文件夹 共享文件夹中有要共享的设备选项,勾上要共享的设备,对方手机上就会收到提示,确定了选择一个要保存到的目录 这样两个目录就能进行数据同步了 电脑端的使用 下载电脑版的之后,启动可执行文件,会打开一个命令窗口,不要关闭它 同时会在浏览器上打开 GUI 地址:127.0.0.1:8384 操作方式跟手机端是一样的 并且电脑上还会推送附近的客户端 操作举例 新增文件夹 文件夹路径,就是本地要同步的目录 共享:就是要共享的设备,因为可能会加进来很多设备 版本控制:暂没用到 忽略模式:就跟 .gitignore 类似,哪些是忽略同步的 ...

May 9, 2023

Drone自动化部署Java应用

本文介绍基于 Drone 自动化部署 Java 应用的流程,应该不止一种方式,我写的这种是目前我在用的可行方案。 之前在做 Java 程序部署的时候,上网上找了各种文章,但是实际在我这边没有非常合适的能成功的方案。最后尝试了许多次,找到一条能通的路,在这里分享一下 Drone 基础 不过多介绍,可以参考其他文章:Blog All Process 实现思路 基于 Drone 在处理 Java 应用的时候,有一个非常困难的事情:启动部署都是基于 Docker 的,容器都是一次性的,就导致我们之前在固定机器上写的脚本,没办法正常使用。因为重新启动 Java 服务之前,需要先停掉(因为映射到宿主机的端口就一个)。但是怎么停掉呢? 如果使用的是 k8s,应该还好一点,可以用到 k8s 命令去完成一部分功能(k8s 我还没尝试,有点儿大) 但是针对普通的一个 Java 应用怎么做呢? 首先,编译这一步没有什么困难的,就不多说了,最终的目标就是能在宿主机的指定目录中生成一个要启动的 Jar 文件,比如放在了这里:/root/dockers/light-task/jars/JavaApp.jar 剩余要做的就是使用新的 Jar 文件启动服务,当然,启动之前要把之前运行的给干掉(无论是干掉容器还是干掉容器中运行的 Java 进行) 而这里面最难的就是把之前运行中的停了,我想到的一个停掉运行中的 Java 服务的方式就是在本机使用 docker-compose 那么发布的简单过程就是: docker-compose down docker-compose up -d 但这个很明显需要在宿主机执行,怎么才能够在宿主机执行脚本命令呢? 方式一 使用 Drone 提供的 EXEC 方式 也就是在 .drone.yml 中,将 type 改为: exec 官方文档:https://docs.drone.io/pipeline/exec/overview/ 这样的话直观的意思就是会在宿主机上直接执行,我去试了,各种问题 贴上一个没看太明白的反馈地址:https://community.harness.io/t/exec-runner-404-error-on-ping/11070 不是很确定是不是 Drone 的 bug,困惑了我很久最后还是放弃了 这种方式大概意思就是,我们需要在主机上安装一个 exec-runner,让这个 runner 能连到 done-server,但是一直没能成功 ...

May 4, 2023

Hugo使用自定义字体

有一天看到了别人的博客,发现那个字体真好看啊 F12 去看了下随后去搜了搜,发现了是一个开源的字体 https://github.com/lxgw/LxgwWenKai 名字起的也挺好听的:霞鹜文楷 下面介绍一下我的博客修改这个字体的方法 博客说明 Hugo + PaperMod 可参考:Blog All Process 参考 在官方 github 上找到了 cdn:https://github.com/lxgw/LxgwWenKai/issues/24 下面是原话: 关于chawyehsu制作的webfont, 我向cdnjs提了pr, 目前merge了, 国内已有镜像, 有需要的可以使用. https://cdn.staticfile.org/lxgw-wenkai-webfont/1.6.0/style.css https://cdn.staticfile.org/lxgw-wenkai-screen-webfont/1.6.0/style.css 目前只有这两个, 其他的没提交 参考引入 <html> <head> <link rel="stylesheet" href="https://cdn.staticfile.org/lxgw-wenkai-webfont/1.6.0/style.css" /> <!-- 没有Lite version, 有需要的可以向cdnjs发pr看看能不能通过--> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lxgw-wenkai-lite-webfont@1.1.0/style.css" /> <!-- 没有TC version, 有需要的可以向cdnjs发pr看看能不能通过--> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lxgw-wenkai-tc-webfont@1.0.0/style.css" /> <!-- Screen version --> <link rel="stylesheet" href="https://cdn.staticfile.org/lxgw-wenkai-screen-webfont/1.6.0/style.css" /> <style> body { font-family: "LXGW WenKai", sans-serif; /* Lite version */ font-family: "LXGW WenKai Lite", sans-serif; /* TC version */ font-family: "LXGW WenKai TC", sans-serif; /* Screen version */ font-family: "LXGW WenKai Screen", sans-serif; } </style> </head> <body> <!-- blablabla --> </body> </html> 使用方式 两个关键文件 ...

May 3, 2023

Blog All Process

该篇文章记录的是这个博客的整个搭建流程. Hugo + PaperMod + Drone 目标 Logseq 用来日常记录使用,不对外开放 使用博客作为日常分享以及知识产出的对外平台 第一目标是轻量 其次是自动化 随后是美观 方案选型 简单调研了几个平台: WordPress:不够轻量,放弃 Typecho:不够轻量,放弃(主要是提供的有后台编辑工具,我用不到,性价比就很低了,并且也就导致不够轻量) Solo:强制加入社区,导出还需要积分,不是我想要的,放弃 Holo:与上面类似吧,没仔细研究 Hugo:目前使用的,够轻量,没有多余的内容,没有平台,只是静态资源生成工具 可以看到,个人的博客目前是比较小的,暂时是不考虑做的很大,因此轻量是当前的一个重要因素 希望的是所有的数据在自己手里,以写 Markdown 的方式记录博客,Hugo 就刚好满足 关于 Hugo 不做过多介绍,贴一个官网:https://gohugo.io/ 关于主题 看了一些之后,考虑了两个: PaperMod LoveIt LoveIt 还是比较丰富的,看起来漂亮一点儿,甚至我当时都考虑在主题上面放弃 “轻量”,但后来发现开源协议是GPL3,也就是版权和许可声明必须保留,放弃了 在此声明一下:刚才又去看了下,看着是 MIT的,不知道是不是我之前看错了,不过也因为此吧,放弃了,正好也感觉有点儿重 PaperMod 整体看着还是很干净简约的,目前我就是要这种风格吧 开发工具 就 Typora 吧,不需要系统性的 生成新的博客的时候,直接使用 Hugo 命令:hugo new posts/first-blog/index.md 随后用 Typora 打开编写 关于图片 可以看到我上面的命令里面新建文章的时候,用的是 /first-blog/index.md,这种是为了解决引入本地文件的问题 也就是假如我们想直接使用项目中的图片或者文件采用如下方法: 新建博客时候中间多一层目录,实际的 md 文件放在这个目录中,叫做 index.md,该目录中定义资源目录,如 pics 用于存放图片,files 用来存放可以下载的附件 index.md 中引用到图片或者文件的时候,直接写相对路径 ![测试照片](pics/test.png) 整体的目录结构: themes static ... assets content: posts: first-blog: files pics: test.png index.md 参考了该博客: ...

May 2, 2023

Docker Dockerfile基础使用

参考 https://yeasy.gitbook.io/docker_practice/image Docker镜像 获取镜像 查询: docker search redis root@racknerd-720736:~# docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store that… 12043 [OK] redislabs/redisearch Redis With the RedisSearch module pre-loaded… 56 redislabs/redisinsight RedisInsight - The GUI for Redis 87 redislabs/rebloom A probablistic datatypes module for Redis 22 [OK] redislabs/redis Clustered in-memory database engine compatib… 36 redislabs/rejson RedisJSON - Enhanced JSON data type processi… 53 redis/redis-stack-server redis-stack-server installs a Redis server w… 36 redis/redis-stack redis-stack installs a Redis server with add… 47 redislabs/redisgraph A graph database module for Redis 26 [OK] redislabs/redismod An automated build of redismod - latest Redi… 35 [OK] redislabs/redistimeseries A time series database module for Redis 12 redislabs/operator 7 redislabs/operator-internal This repository contains pre-released versio… 1 redislabs/redis-py 5 redislabs/redis-webcli A tiny Flask app to provide access to Redis … 3 [OK] redislabs/redisgears An automated build of RedisGears 4 redislabs/memtier_benchmark Docker image to run memtier_benchmark 0 redislabs/k8s-controller-internal 0 redislabs/ng-redis-raft Redis with redis raft module 0 redislabs/k8s-controller 2 redislabs/redisai 4 redislabs/olmtest Test artefact for OLM CSV 0 bitnami/redis Bitnami Redis Docker Image 252 [OK] redislabs/olm-bundle 0 redislabs/redisml A Redis module that implements several machi… 3 [OK] 拉取: ...

April 29, 2023

FileBrowser安装使用

套话 简约,极简主义 同样,文件服务器也要轻量 因此放弃了 min.io 尝试使用 FileBrowser 安装 curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash 配置 创建配置数据库:filebrowser -d /etc/filebrowser.db config init 设置监听地址:filebrowser -d /etc/filebrowser.db config set --address 0.0.0.0 设置监听端口:filebrowser -d /etc/filebrowser.db config set --port 8080 设置语言环境:filebrowser -d /etc/filebrowser.db config set --locale zh-cn 设置日志位置:filebrowser -d /etc/filebrowser.db config set --log /var/log/filebrowser.log 添加一个用户:filebrowser -d /etc/filebrowser.db users add chunxiao.li 123456 --perm.admin 启动 filebrowser -d /etc/filebrowser.db 后台启动: nohup filebrowser -d /etc/filebrowser.db 2>&1 & 使用 ip + 端口即可访问 注意有防火墙的放开对应端口 使用刚才创建的账号密码登录 ...

April 28, 2023

First

体验一下 Hugo 的静态生成能力 让 ChatGPT 随便写一篇博客看看先 拖延症是一个我们都可能面对的问题。当面临任务时,我们常常会感到压力和焦虑,因此选择逃避或拖延任务。虽然这种行为可能会给我们带来短暂的缓解,但它通常会导致更多的困难和压力。 那么,我们应该如何克服拖延症呢? 首先,要意识到自己的拖延行为。只有意识到自己的问题,才能开始解决它。其次,制定一个实际可行的计划。将任务分解成较小的步骤,并为每个步骤设定截止日期。这样可以让任务看起来更加可管理和容易完成。 接下来,通过培养良好的习惯来克服拖延症。例如,每天早上设定目标并记录自己的进展情况,或者使用番茄工作法(即集中精力工作25分钟,休息5分钟)来提高工作效率。 最后,找到激励自己的理由。将注意力集中在任务的结果和收益上,而不是任务本身。这将有助于增强自己的意愿和动力,从而帮助克服拖延症。 总之,克服拖延症需要一些时间和精力。但如果我们能够意识到自己的问题并采取行动,就能够摆脱拖延的影响,并开始更加高效地工作和生活。

April 27, 2023 · 晓寒轻