贰叁肆 - 教程
type: channel
link: https://www.ersansi.top/index.php/category/%E6%95%99%E7%A8%8B/
description: 分享各类教程
items: vaultwarden配置中文邮件模板以及中文后台
items: 使用Docker部署vaultwarden并配置
items: netlib.re自动保活教程
items: 永久免费申请三级域名托管到CF
items: 美化Ventoy启动菜单
items: 腾讯云卸载腾讯云镜等监控软件
items: Vikunja安装与使用
items: 搭建自己的记账系统
items: 使用restic对服务器进行备份
items: 部署navidrome，打造个人音乐库

vaultwarden配置中文邮件模板以及中文后台
type: item
date: 2025-11-18T11:51:51+08:00
description: 简介 vaultwarden的前端是可以设置中文的，但是后台和邮件模板是不能直接设置的 官方给了我们自己翻译的方法 既然官方给了教程，那么网上肯定有大佬翻译好了，我们直接拿过来使用就可以了 今天使用到的这个项目大佬还打包了中文的docker镜像，如果感觉自己配置中文麻烦，那么直接切换大佬打包的镜像就可以了 中文项目地址 这里有大佬已经把整个项目翻译成中文了 地址：https://github.com/vlianx/vaultwarden_zh_cn 下载模板 我这里不切换镜像了，直接把大佬的模板配置进去 首先我们打开大佬的项目 然后点击右上角的“Code”，选择“Download ZIP” 然后把下载好的zip压缩包解压出来 上传文件 首先查看我们的docker-compose文件，确定数据持久化的目录 进入我们数据持久化目录 创建一个名称为templates的目录 mkdir templates 然后把我们解压的文件夹里面的vaultwarden_zh_cn-main\src\static\templates目录下的“admin”,“email”,“scss”文件夹上传到我们刚刚在服务器上创建的“templates”文件夹里面 修改变量 打开我们的docker-compose文件，新增一个变量，变量名称为TEMPLATES_FOLDER:，变量的值是docker被映射的数据目录下的templates目录 例如我映射的是 volumes: - /opt/vaultwarden/data/:/data/ 那么新增的这个变量的值就是 /data/templates 完成 修改完成后，重启docker容器，再次进入后台就可以看到是中文的了 但是这个后台管理模板官方给的能翻译的地方不多，聊胜于无吧 发送一个测试邮件，可以看到邮件也是中文的了

使用Docker部署vaultwarden并配置
type: item
date: 2025-11-17T22:30:36+08:00
description: 简介 vaultwarden是一个开源的密码管理工具，目前这个项目收藏有50.9K，是一个很出名的密码管理工具了 这时候有同学可能会有个疑问，那就是我们的浏览器以及自带密码管理了，还有比较部署这个吗？ 接下来说一下我对这个工具的理解 首先这个是自托管的，也就是意味着数据掌握在自己手里 其次就是实用性，我感觉这个比浏览器自带的密码管理好用多了，浏览器自带的密码管理只能管理你在这个浏览器上使用的密码，一旦你换浏览器了就得导出密码从新导入，使用这个工具就不会有这样的问题，换浏览器后直接安装一个插件即可 然后就是跨端跨设备，使用这个工具你不但可以在电脑上使用，这个工具有移动端，你也可以在移动端上使用，这样你的密码更集中管理，更方便管理 还有一点就是团队使用，这个工具可以建立组织，让同一个组织的人员都可以共同调用密码，这个对于那种一个账号多共享的还是很实用的 项目地址 https://github.com/dani-garcia/vaultwarden 开始部署 这里的部署不止可以使用docker，还可以是二进制文件，但是使用二进制文件需要自己编译，所以我选择使用docker部署，很方便 这里就不重复docker和docker-compose的安装了，如果不会安装的可以参考这篇文章《从零开始学习Docker--Docker的安装和配置仓库源加速》 编写docker-compose文件 首先我们编写docker-compose文件，我们打开项目地址 滑倒下面，这里官方以及给了一个基础的docker-compose文件了，我们只需要在这个基础上修改即可 复制这个文件下来，新建一个记事本，粘贴进去 接下来我们需要修改的地方就三个，一个是变量，一个是数据持久化，还有就是端口 变量 必须变量 首先是变量，这里基础的docker-compose文件里面有一个DOMAIN: "https://vw.domain.tld"变量，这个变量是配置站点根目录 也就是说你的站点的域名的，如果没有域名，使用的ip就直接填写ip即可，但是这里注意的是，如果不是局域网使用建议配置域名和证书，否则你的数据就会以明文传输，意味着你的密码将会在网络上暴露 我这里时在局域网内演示，所以我直接填写ip地址 演示配置其他变量，非必须 这里我在演示一下配置其他变量，这个不是必须的，可以不用配置，都是可以在系统后台管理里面配置的 然后我们在项目地址网上翻，找到官方的变量说明，找到自己需要的变量添加上去 例如我还需要配置邮件服务，用于身份验证和发送忘记密码的时候密码提示 在项目首页找到“Usage”，在里面找到“Wiki”，点击查看详细的说明 我们在右边的导航栏里面找到“Configuration”，里面有一个“SMTP configuration”，点击查看 这里就可以看到官方给的启动示例文件了，-e开头的都是启动变量，我们可以把这个变量直接写入我们的docker-compose文件里面 我们把-e开头的全部复制，粘贴到记事本里面，粘贴的位置在刚刚我们改的ip的那个变量下面 docker-compose文件如果需要注释的话可以时#号开头 然后把前面的-e和后面的\删掉，记得保持缩进和ip那个变量一样 配置管理员 如果你不想直接在docker-compose文件里面配置邮箱等其它配置，那么就需要配置管理员，通过管理员进入系统后台进行配置 我们在右边目录里面找到“Enabling admin page”，点击打开 也是-e开头的，复制到记事本里面 然后把=号后面改成一个你的密码 注意 到这里我们的变量并没有配置完成，有细心的同学可能发现了，官方默认改的DOMAIN: "http://192.168.99.25"这个变量不是=号 是的，这里我们还需要把变量里面的=号换成:（冒号+一个空格），记住，冒号一定要英文的 数据持久化 接下来就是数据持久化了 在官方的配置文件里面其实已经做了数据持久化，但是我还是习惯改成绝对路径 volumes:下面的就是数据持久化 官方的是 - ./vw-data/:/data/ 这里就看自己心情修改了，但是注意的是你只能修改:前面的，后面的不要修改 下面这个是我修改的路径 /opt/vaultwarden/data 端口/地址映射 官方给的配置文件的端口映射是把宿主机的8000端口映射到容器的80端口，这里可改可不改，如果你的服务器的8000端口没有被占用就没必要修改 这里要修改也是只能修改80端口前面的:前面的内容，后面的是不能修改的 下面是我修改后的内容，我把原本的8000端口改成了8080端口 还有就是8080端口前面的地址127.0.0.1，这个就限制了我们只能本机访问，也就是只能服务器自己访问，如果我们做反向代理的话这个不用修改，保持127.0.0.…

netlib.re自动保活教程
type: item
date: 2025-11-10T15:51:00+08:00
description: 简介 上一篇文章说了怎么在netlib.re上注册域名并且托管到CF，但是netlib.re时需要六个月内登录一次的次啊能保活 这篇文章教大家如果使用Github上开源的项目进行自动保活，全程无需人工干预 保活项目地址 Github：https://github.com/eooce/Auto-login-netlib netlib.re保活 进入Github项目地址 然后点击顶部的“Fork”把项目克隆到我们的Github仓库 点击“Create fork” 点击顶部的“Actions” 点击“I understand my workflows, go ahead and enable them” 返回仓库主页 点击顶部的“Settings” 点击左边导航栏的“Secrets and variables” 点击“Actions”，添加变量 点击绿色的“New repository secret” 然后再Name栏填入变量名 ACCOUNTS 下面填入账号和密码，账号密码之间用英文冒号分隔，账号与账号之间英文逗号分隔，例如下面 单账号：账号1:密码1 多账号：账号1:密码1,账号2,密码2 例如我时多账号，我第一个账号名为xxhh，密码为xxhh789987，第二个账号为xxyy，密码为xxyy567890，那么我就应该像下面这样填入 xxhh:xxhh789987,xxyy:xxyy567890 填写完成后点击“Add secret” 下面这样就是添加好了 接下来返回仓库主页 点击顶部的“Actions” 点击“Netlib Keepalive” 点击“Enable workflow”检查配置是否有误 点击“Run workflow” 点击绿色的“Run workflow” 等待一小会，等它弹出下面这个界面 可以点击正在运行的工作流，进去查看 我这里已经运行完成了，我们点击进入 然后点击“Run lognin script”查看结果 这里自动保活就完成了 这个是每30天自动登录一次，也可以自己修改，如果需要自己修改登录天数可以，如果需要修改可以进入.github/workflows目录下修改login.yml文件

永久免费申请三级域名托管到CF
type: item
date: 2025-11-10T14:49:00+08:00
description: 简介 现在想要永久免费获取一个域名还是很简单的，但是托管到cf时会有各种问题，如果掌握了正确的姿势，那么也是很简单的，很多永久免费的域名都是托管不到CF的 注意事项 今天我们使用来申请域名的网站是https://www.netlib.re/，但是这个网站有BUG，有个坑，如果你不注意那么你申请到的域名就无法托管到CF，或者侥幸托管上去了但是边缘证书验证不通过，这样的托管也是没用的，即使你删除已经申请的域名从新申请也是不行的，也就是说一旦失败，那么你这个域名将会和CF无缘了，所以一定要紧跟教程一步一步做 这个BUG就是我们申请域名后必须马上把默认的NS修改成CF的，否则等后面是修改不成功的，只要默认NS提交上去了我们就修改不了，这就会导致托管到CF失败。 这个BUG可能作者后续会修复，这个也是不清楚的 第一步：注册netlib.re 打开上面给的网址 点击右上角的“Register” 填写注册信息，这里的邮箱最好使用自己的邮箱，不要使用临时邮箱，以防万一后面作者发送邮件进行验证之类的 信息填写完成后滑倒最下面，勾选I have read and accept the terms of service and privacy policy.，然后点击“Validate” 成功后会转到邮箱验证界面 打开邮箱，复制token 返回验证界面，填写用户名和token，然后点击“Validate” 完成后跳转到登录界面，这时候就可以使用刚刚注册的时候填写的用户名和密码登录了 填写用户名和密码，点击“Validate”登录 第二步：申请一个不需要的域名 我们做这个步骤的原因是我们要获取自己CF的NS，每个账号的SN和不同时间解析的NS都是不一样的，所以我们需要先申请一个自己不需要的域名按照正常流程托管到CF获取自己的NS 登录成功后，可以看到有两个域名可以选择，我们选择第一个“.netlib.re”，这个是可以托管到CF的，而另一个不行 然后随便输入一个三级域前缀，然后点击“add a new domain” 成功后就可以看到我们申请的域名了 第三步：获取CF的NS 打开登录CF，我们按照正常流程托管域名，点击左上角的“加入域” 填写刚刚申请到的域名，然后点击“继续” 选择免费的计划 复制这两个NS保存备用，到这里我们就获取到CF的NS了 第四步：正式申请域名以及修改NS 现在就可以正式申请和托管域名了 输入我们想要的三级域名前缀，然后点击“add a new domain” 之后马上点击我们刚刚添加的域名 跳转到域名设置界面后马上下滑，找到“Delegation”下的“Delegate your domain to different name servers”并点击 然后把刚刚我们获取到的NS填入进去，填入完成后点击“Delegate the domain”保存 看到下面这个界面的时候就是成功了 第五步：托管域名 打开CF，按照正常流程添加域名 点击“加入域” 输入我们刚刚正式申请的域名，然后点击“继续” 选择免费计划 到下面这个界面，只要C没有提示删除其他名称服务器就成功了，耐心等待几分钟 第六步：确定托管是否可用 返回到主页，点击我们刚刚托管的域名 点击左边导航栏的“SSL/TLS” 点击“边缘证书” 看到边缘证书状态为“有效”就是成功了 声明 次方法不确定什么时候失效，目前还是可以正常托管的，不知道后面会不会像cloudns一样托管不上去了

美化Ventoy启动菜单
type: item
date: 2025-10-27T16:52:05+08:00
description: 简介 Ventoy是一个制作可启动U盘的开源工具。 有了Ventoy你就无需反复地格式化U盘，你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了，无需其他操作。 你可以一次性拷贝很多个不同类型的镜像文件，Ventoy 会在启动时显示一个菜单来供你进行选择 你还可以在 Ventoy 的界面中直接浏览并启动本地硬盘中的 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件。 Ventoy 安装之后，同一个U盘可以同时支持 x86 Legacy BIOS、IA32 UEFI、x86_64 UEFI、ARM64 UEFI 和 MIPS64EL UEFI 模式，同时还不影响U盘的日常使用。 Ventoy 支持大部分常见类型的操作系统 （Windows/WinPE/Linux/ChromeOS/Unix/VMware/Xen ...） （上面简介复制Ventoy官方的） 既然都出这个教程了，那就从零开始吧，从如何制作启动盘开始吧 准备工具 一个U盘 一台电脑 下载Ventoy 打开Ventoy官网 https://www.ventoy.net/cn/index.html 点击顶部导航栏的【下载】 选择对应自己系统的版本，我选择的windows 点击后会跳转到github上 继续点击对应的系统版本下载 等待下载完成后解压 制作启动盘 把U盘插入电脑，记得备份你的资料，U盘要格式化的 然后打开刚刚解压的文件夹 双击运行“Ventoy2Disk.exe” 选择好U盘，然后点击【安装】 弹出是否格式化，点击【是】 完成后点击【确定】 修改主题 下载主题 我们并不需要自己去做主题，我们直接拿别人做好的来使用即可，当然如果想自己做也是可以的，但是这篇文章不会教如何自己做，后续可能会单独开一篇文章来说 首先我们去寻找自己喜欢的主题，寻找的渠道有两个，一个是github，另外一个是下面这个网站 https://www.gnome-look.org/browse/ 打开后我们点击右边的“GRUB Themes” 点击顶部的“Rating”，按评分排序 找到自己喜欢的，点击进去 点击右上角的【Download】下载 点击【Download】后如果有多个文件会弹出一个列表，让你选择下载哪一个，如果不清楚可以进入下面的github地址看一下说明 例如这个，进入github后就可以看到那个名字的主题是什么样的 等待几秒，然后点击【Download】 下载完成后解压出来 设置主题 进入我们第一个下载解压出来的Ventoy文件夹 双击运行“VentoyPlugson.exe”，选择好U盘，然后点击【启动】 这时候会打开浏览器，进入设置界面 导入主题 点击左边的“主题插件” 找到“file —— 主题配置文件”，点击右边的【新增】 这时候会叫我们输入文件路径 我们打开刚刚解压的主题文件夹 打开里面的“darkmatter”文件夹 找到“theme.txt”这个文件 复制文件路径，并填写到浏览器中刚刚我们点击【新增】弹出来的窗口中，然后点击【确定】 这里有一个坑，那就是解压出来的主题压缩包一定要放到Ventoy的U盘里面，否则会路径不对 提示配置文件保存成功，文件存在就可以了 到这里就结束了，可以关闭所有窗口了，可以重启看看是否成功了

腾讯云卸载腾讯云镜等监控软件
type: item
date: 2025-10-27T14:31:41+08:00
description: 简介 之前使用的云服务器都是阿里云的，主要是阿里云便宜，但是最近不知道什么问题，使用阿里云的服务器延迟总是很高，然后丢包率也高，所以换了腾讯云 虽然说腾讯云比阿里云贵了那么亿点，但是真TM稳啊，应该是线路优化了 每家的云服务器都会有监控进程，这些进程不能说没有用，还是有那么一点用处的，但是占用资源高啊 如果在系统进程中看到YDService、tat_agent、YDLive、sgagent、barad_agent这些都是云镜、云监控相关软件的进程 卸载云镜等命令 systemctl stop tat_agent systemctl disable tat_agent /usr/local/qcloud/YunJing/uninst.sh /usr/local/qcloud/stargate/admin/uninstall.sh /usr/local/qcloud/monitor/barad/admin/uninstall.sh 删除云监控相关目录文件 rm -f /etc/systemd/system/tat_agent.service rm -rf /usr/local/qcloud 最后清理 打开/etc/rc.local 文件，将里面含qcloud的行全部删掉。 vi /etc/rc.local 找到包含qcloud的，全部删掉 然后重启服务器

Vikunja安装与使用
type: item
date: 2025-10-09T17:56:00+08:00
description: 简介 Vikunja是一款功能强大的开源任务管理工具，它帮助用户以一种有组织的方式管理和跟踪所有待办事项。 就像一个拥有超能力的笔记本，Vikunja允许个人或团队轻松地规划、协作并完成项目。 无论是个人使用还是团队合作，Vikunja都提供了灵活性和定制性，让用户能够根据自己的需求调整任务管理方式 环境与安装方式 Vikunja支持二进制安装，docker安装，从源码自己构建安装，我这里使用的是二进制安装 我安装的环境是X86架构的linux（Almalinux） 项目官网/下载地址 和其他的开源程序不一样，这个再Github里面也可以找到，但是里面只有源码，没有编译好的二进制文件等，需要二进制文件的话可以到它的官网下载。 项目官网：https://vikunja.io/ github项目地址：https://github.com/go-vikunja/vikunja 官方下载仓库地址：https://dl.vikunja.io/vikunja/ 下载/解压Vikunja 进入官方的下载仓库地址 点击最新版的版本号，这里注意，有的版本号带rc的，带rc的是候选版本，可以理解为测试版本，我们需要的是稳定版的 找到适合自己服务器软硬件的版本，鼠标右键，复制链接地址 使用ssh工具连接到服务器，然后根据自己的习惯创建一个文件夹，用于存放软件，我的习惯是自己安装的软件放在/opt/下面对应的文件夹里面 cd /opt mkdir vikunja 进入刚刚创建的文件夹 cd vikunja 使用wget命令下载刚刚复制的链接 wget 刚刚再下载仓库复制的链接 wget https://dl.vikunja.io/vikunja/0.24.6/vikunja-v0.24.6-linux-amd64-full.zip 下载完成后可以使用ls命令查看下载的文件 下载下来的是一个zip包，使用unzip解压，解压完成后可以使用ls命令查看解压出来的文件 unzip vikunja-v0.24.6-linux-amd64-full.zip 为了方便管理，我们需要删除不需要的文件 rm LICENSE vikunja-v0.24.6-linux-amd64-full.zip vikunja-v0.24.6-linux-amd64.sha256 然后把二进制文件重命名一下，方便后续升级更新 mv vikunja-v0.24.6-linux-amd64 vikunja 配置Vikunja 刚刚解压出来的文件里面有一个config.yml.sample，这个是官方的配置示例文件，我们可以在这个文件上进行修改或者参考这个文件写一个新的config.yml文件 下面是翻译后的配置文件示例 service: # 此令牌用于验证签发的 JWT 令牌。 # 默认是随机生成的，每次启动 Vikunja 都会生成新的。 # （这意味着重启 Vikunja 后所有已签发的令牌都会失效） JWTSecret: "<jwt-secret>" # JWT 令牌有效期（秒），默认 259200 秒（3 天） jwtttl: 259200 # “记住我”模式令牌有效期（秒），默认 2592000 秒（30 天） jwtttllong: 2592000 # Web 服务器运行接口 interface: ":3456" # Unix 套接字路径，如果设置，将使用套接字而不是 TCP unixsocket: # Unix 套接字权限，八进制值需以 0o 前缀，例如 0o660 unixsocketmode: # 用户访问 Vikunja 的公共 URL，用于邮件和前后端通信 publicurl: "" # 可执行文件和资源所在的根路径 # Vikunja 也会在此路径查找配置文件 rootpath: <rootpath> # 每页最大返回项目数 maxitemsperpage: 50 # 是否启用 CalDAV 接口 enablecaldav: true # 设置每日消息（MOTD），通过 /info 接口可见 motd: "" # 是否允许通过链接共享项目 enablelinksharing: true # 是否允许新用户自行注册 enableregistration: true # 是否允许任务附件 enabletaskattachments: true # 所有时间戳使用的时区，需使用官方 tz 数据库名称（UTC/GMT 不可用） timezone: GMT # 是否启用任务评论 enabletaskcomments: true # 是否启用 TOTP 双因素认证 enabletotp: true # 如果不为空，将启用 /test/{table} 接口用于测试，可写入任意…

搭建自己的记账系统
type: item
date: 2025-09-24T16:21:00+08:00
description: 简介 系统名称：ezbookkeeping 这个系统是再github上开源的，完全免费，没有会员广告限制，所有数据全部存储在自己的服务器上 功能方面也是比较全面的，除了基础的收支记录，账户管理，报表等功能外，还支持账单一键导入，可以导入支付宝微信账单，也可以导入银行账单 项目/下载地址 项目地址：https://github.com/mayswind/ezbookkeeping 也可以前往资源库搜索下载，本站提供linux1.0.1版本下载 搭建环境 这个系统支持子啊windows、linux等系统上运行 我这边使用的是linux系统 第一步：下载ezbookkeeping 打开项目地址 点击顶部的标签 点击最新的版本号 找到适合自己处理器和系统的版本，右键复制链接地址 使用SSH连接到自己服务器，在/opt目录下创建一个新文件夹 mkdir /opt/ezbookkeeping 进入刚刚创建的文件夹 cd ezbookkeeping 使用wget命令下载 wget 刚刚复制的下载链接 wget https://github.com/mayswind/ezbookkeeping/releases/download/v1.0.1/ezbookkeeping-1.0.1-linux-amd64.tar.gz 解压下载的文件 tar -zxvf ezbookkeeping-1.0.1-linux-amd64.tar.gz 第二步：测试运行 解压出来后，可以看到有一堆文件，其中里面有个文件名为ezbookkeeping，这个就是这个系统的二进制运行文件，使用下面命令测试运行 ./ezbookkeeping server run 使用浏览器访问服务器地址加8080端口，如果正常的话会打开登录界面 第三步：设置开机自启 可以正常运行后就没问题了，接下来就是配置开机自启了 进入system服务 cd /etc/systemd/system 使用vi编辑器新建一个文件 vi ezbookkeeping.service 把下面内容复制站体进去，记得根据自己实际情况修改路径 [Unit] Description=ezBookkeeping Server After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/ezbookkeeping ExecStart=/opt/ezbookkeeping/ezbookkeeping server run Restart=on-failure StandardOutput=append:/opt/ezbookkeeping/log/ezbookkeeping.log StandardError=append:/opt/ezbookkeeping/log/ezbookkeeping.log [Install] WantedBy=multi-user.target 修改完成后保存并退出，然后授权可执行权限 刷新system配置文件 systemctl daemon-reload 启动 systemctl start ezbookkeeping 设置开机自启 systemctl enable ezbookkeeping.service 修改配置文件（可选） ezbookkeeping并没有管理员账户，然后用管理员账户修改系统配置，新增删除账户之类的，所有的配置都需要直接修改配置文件 修改配置文件可以参考官方的手册来修改 官方手册地址：https://ezbookkeeping.mayswind.net/zh_Hans 例如我需要关掉用户可以注册 首先我先看一下官方的手册，找到关于用户注册的 然后打开配置文件 vi conf/ezbookkeeping.ini 然后找到刚刚我们查询手册上对应的选项名 现在是true就是启用，要关闭就改成false，修改完成后保存退出 然后重启服务 systemctl restart ezbookkeeping.service 再次打开就可以看到创建用户点击不了了 注意事项 该项目没有管理界面，所有管理都需要命令行实现，要么修改配置文件要么使用命令 具体配置以及命令可以参考官方手册 喜欢折腾的可以研究看看 更新 使用二进制文件部署的，更新的时候下载最新版的包解压，然后覆盖原来的二进制文件ezbookkeeping和public目录以及templates目录即可 不要替换 conf/、data/、log/、storage/目录， conf目录存放配置文件 data目录存放数据库 log目录存放日志 storage目录存放用户上传的文件 更新完成后进入到二进制文件目录，执行更新数据数据库结构操作 命…

使用restic对服务器进行备份
type: item
date: 2025-09-23T10:16:00+08:00
description: 简介 之前我的博客和服务器上的其他系统都是我手动备份数据的，因为懒，所以懒得整自动备份 最近连手动备份也懒了，想想还是整个自动备份吧 我使用的工具是restic是本地/远程备份工具，可以实现增量备份 + 去重 + 压缩 + 加密 + 快照管理 可以把数据备份到 本地磁盘、NAS、SFTP、S3 等支持的后端 功能 描述 增量备份 每次只保存变化的数据，节省空间 去重 不同备份间重复数据只保存一次 压缩 数据存储时自动压缩，节省存储空间 加密 备份自动加密，保证安全 快照管理 可以查看、保留、删除历史版本 跨平台 Linux / Windows / macOS 都支持 思路 我的服务器使用的是联想M73，只有一个硬盘位，所以打算外接一个USB硬盘来存储备份文件 刚开始想使用网盘进行备份的，后面发现很多网盘备份工具都不知此个人版的网盘，只支持企业版，当然也不是没有办法，先把网盘挂载成webdav，然后存进去就可以了 但是我懒，反正家里面有硬盘 第一步：格式化硬盘 首先把USB硬盘插上去，然后使用下面命令查看硬盘信息，可以看到这里已经读出我的硬盘了，是/dev/sdc1 lsblk -f 硬盘格式是ntfs，这个格式对linux并不友好，我需要格式化成ext4格式 首先卸载硬盘，如果没有挂载的话就忽略这一步，如果不知道硬盘有没有挂载就直接执行也没事，没有挂载会有提示 umount /dev/sdc1 然后格式化硬盘，中间可能会弹出提示，输入y回车继续 mkfs.ext4 -L backup /dev/sdc1 等待完成 第二步：挂载硬盘 使用下面命令查看确定硬盘的UUID，记得把UUID复制下来 blkid /dev/sdc1 使用vi编辑下面文件 vi /etc/fstab 在文件最后面添加挂载信息，把下面这一行复制修改UUID为你硬盘的UUID，ntfs-3g改成硬盘格式，然后粘贴到文件的最后面，因为是移动硬盘，所以我们加了nofail,x-systemd.device-timeout=10，这个是开机等待10秒，不管有没有检测到这个设备都直接开机，如果不加的话移动硬盘出现问题挂载不了就会导致开机卡住，开不了机 UUID=068273068272FA0F /mnt/usb ntfs-3g defaults,nofail,x-systemd.device-timeout=10 0 0 添加完成后，保存退出 执行立即挂载命令，但是我这提示挂载失败，挂载点不存在 mount -a 这个是因为我的系统里面没有/mnt/usb这个目录，所以挂载不上，我先创建一个/mnt/usb目录 mkdir /mnt/usb 然后再次执行挂载命令，提示不是错误，只是 systemd 在提醒：你修改了 /etc/fstab，但 systemd 还缓存着旧配置。 不过 mount -a 是直接读 /etc/fstab 的，不依赖 systemd，所以已经生效了 mount -a 使用下面命令查看是否挂载成功，看到有挂载点就是成功了 lsblk -f 使用下面命令让 systemd 下次启动时用新的配置 systemctl daemon-reload 第三步：下载release release可以直接使用系统源yum、apt下载，但是版本比较老，我是直接去github项目地址下载的 项目地址：https://github.com/restic/restic/ 首先创建一个文件夹，用来存放release的二进制运行文件 mkdir /opt/release 进入刚刚创建的文件夹 cd /opt/release 进入release项目地址 点击顶部的标签 点击最新的版本号 滑倒下面，找到对应自己服务器操作系统和处理器的版本，右键，复制链接地址 回到SSH终端，使用wget命令下载 wget https://github.com/restic/restic/releases/download/v0.18.1/restic_0.18.1_linux_amd64.bz2 下载完成后解压出来，然后使用ls命令查看解压出来的文件 bunzip2 restic_0.18.1_linux_amd64.bz2 ls 解压出来的文件名太长了，我们重命名一下 mv restic_0.18.1_linux_amd64 restic 修改文件权限，让文件可执行 chmod +x restic 第四步：创建备份文件列表 使用vi编辑器创建一个txt文件，名称为：backup_dirs.txt vi backup_dirs.txt 然后把需要备份的文件目录写进去，这样后面我们需要增加或者删除备份目录就直接修改这个文件列表即可 /home/wwwroot/www.ersansi.top /r…

部署navidrome，打造个人音乐库
type: item
date: 2025-09-18T16:54:00+08:00
description: 简介 Navidrome 是一个轻量级的、自托管的音乐服务器，类似 Subsonic，但更加现代和开源。它可以让你在任何设备上访问和播放自己的音乐库，并支持转码、Web 界面、API 等多种功能。 支持linux部署和windows部署 地址 Github项目地址：https://github.com/navidrome/navidrome 官网地址：https://www.navidrome.org/ 官网手册地址：https://www.navidrome.org/docs/ 也可以从本站的资源库里面搜索下载，本站资源库提供的版本是linux-amd64版本 部署环境 操作系统：Almalinux 第一步：下载/解压Navidrome 下载 首先打开github项目地址 然后点击顶部的标签 点击最新的版本号 滑倒下面，找到对应自己服务器的版本，点击右键，复制链接地址 使用SSH工具链接服务器，然后使用下面命令创建文件夹 mkdir /opt/navidrome 进入刚刚创建的文件夹 cd /opt/navidrome 使用wgeet命令下载刚刚复制的链接的文件 wget https://github.com/navidrome/navidrome/releases/download/v0.58.0/navidrome_0.58.0_linux_amd64.tar.gz 下载完成后，使用ls命令查看刚刚下载的文件 ls 解压 使用tar命令解压刚刚下载的文件 tar -zxvf navidrome_0.58.0_linux_amd64.tar.gz 使用ls命令查看解压出来的文件 我们只需要保留navidrome这个文件就行，其他的直接使用rm命令删除 rm -f LICENSE navidrome_0.58.0_linux_amd64.tar.gz README.md 配置navidrome 使用vi命令创建一个配置文件 vi navidrome.toml 然后把下面配置内容根据自己需求修改一下，复制粘贴进去 # ========================================== # Navidrome 配置文件示例 (最全) # ========================================== # ------------------- # 服务器设置 # ------------------- Port = 4533 # Web界面端口 Address = "0.0.0.0" # 监听地址，0.0.0.0 表示所有网卡 BaseURL = "" # 如果部署在子目录，例如 /music LogLevel = "info" # 日志等级: debug / info / warn / error # ------------------- # 数据库设置 # ------------------- DataFolder = "/srv/navidrome/data" # 数据库和缓存文件存放目录 DBType = "sqlite3" # 数据库类型: sqlite3 / postgres DBPath = "navidrome.db" # sqlite 数据库文件路径（如果使用 sqlite3） # PostgreSQL 连接设置（如果 DBType=postgres） PostgresHost = "localhost" PostgresPort = 5432 PostgresUser = "navidrome" PostgresPassword = "password" PostgresDB = "navidrome" # ------------------- # 音乐库设置 # ------------------- MusicFolder = "/srv/navidrome/music" # 音乐文件目录，必须存在且可读写 ScanInterval = "5m" # 自动扫描音乐库的间隔，可设为 "10m"、"1h" AllowedExtensions = ["mp3", "flac", "ogg", "m4a"] # 支持的音频文件格式 FullScanOnStartup = true # 启动时是否执行全量扫描 PlaylistImport = true # 启动时是否导入已有播放列表 # ------------------- # 用户与安全 # ------------------- NoAuth = false # true 表示无需登录 SignupEnabled = true # 是否允许用户注册 AllowSignUpAdmin = false # 注册用户是…