友善r4s相关配置
安装 Openwrt
这里用到的是编译好的集成版,下载地址,推荐下载高大全版本
portainer
1 | docker run -d \ |
filebrowser文件浏览器安装
arm64拉取镜像
1 | docker pull 80x86/filebrowser:arm64 |
x86拉取镜像
1 | docker pull 80x86/filebrowser |
容器/myfiles
主机/opt/docker/filebrowser/data
容器/config
主机/opt/docker/filebrowser/config
容器/myfiles/volume1
主机/opt
容器/myfiles/volume2
主机/mnt
如果通过filebrowser写入或删除homepage文件,给与权限
1 | chmod -R 777 /opt/docker/homepage |
hexo博客
1 | docker pull --platform=arm64 bloodstar/hexo:latest |
安装主题
切换到博客的主题根目录下打开Git Bash并执行以下命令:
1 | git clone https://github.com/next-theme/hexo-theme-next.git themes/next |
下载完成后,会在项目themes目录下生成next文件夹。
如果没有修改代码的需求可以直接通过npm来安装。
1 | npm install hexo-theme-next |
与所有 Hexo 主题启用的模式一样。当 克隆/下载 完成后,打开 站点配置文件, 找到 theme 字段,并将其值更改为 next。
1 | theme: next |
到此,NexT 主题安装完成。
验证主题 启动服务并访问http://localhost:4000查看效果.
1 | hexo clean && hexo s |
添加搜索功能
在博客根目录下,执行如下命令
1 | npm install hexo-generator-searchdb --save |
修改站点配置文件
修改根目录下_config.yml,在最底部添加如下配置
1 | search: |
修改主题配置文件
修改主体下的themes\next_config.yml配置文件,搜索local_search,修改enable为true
1 | local_search: |
字数统计以及阅读时间配置
安装
1 | npm install hexo-word-counter |
然后在站点配置文件Hexo _config.yml的文件尾部添加
1 | symbols_count_time: |
3.然后在主题配置文件NexT _config.yml中修改
1 | # Post wordcount display settings |
将设置item_text_total为true
homepage导航
1 | docker pull --platform=arm64 gethomepage/homepage:latest |
容器/var/run/docker.sock
主机/opt/docker/homepage/docker.sock
容器/app/config
主机/opt/docker/homepage/config
容器/app/public/icons
主机/opt/docker/homepage/icons
容器/app/public/images
主机/opt/docker/homepage/images
添加环境变量
1 | HOMEPAGE_ALLOWED_HOSTS=192.168.5.1:3000 #按实际更改 |
calibre-web
1 | docker pull --platform=arm64 linuxserver/calibre-web:latest |
jellyfin
1 | docker pull --platform=arm64 jellyfin/jellyfin:latest |
迅雷远程下载服务(非官方)
ARM版安装
1 | docker pull --platform=arm64 cnk3x/xunlei:latest |
amd64版安装
1 | docker pull cnk3x/xunlei |
从迅雷群晖套件中提取出来用于其他设备的迅雷远程下载服务程序。仅供研究学习测试。
本程序仅提供 Linux 模拟和容器化运行环境,未对原版迅雷程序进行任何修改。
使用 镜像
1 | cnk3x/xunlei:latest |
常规的容器,还是要在特权模式下运行。 如果 docker 的存储驱动如果是 btrfs 或者 overlayfs,可以支持的非特权运行。
环境变量参数
1 | XL_DASHBOARD_PORT #网页访问的端口,默认 2345 |
1 | # docker run -d \ |
10分钟搭建一个可以实现音乐自由的音乐服务器 - Navidrome
前言
随着国内版权意识的提高,现在想听一首歌曲,往往我们可能要切换好几个个 APP —— 网易云音乐、QQ 音乐、咪咕音乐等,切换起来很麻烦,并且还需要开通 VIP,有的 APP 就算你买了 VIP 服务,下载的歌曲还是加密的,一旦 VIP 到期后某些歌你还听不了,非常蛋疼,最蛋疼的是有的歌曲还需要单独付费购买,不禁想问这 VIP 的用处是啥。
于是我不得不转到了 YouTube Music 加入一个家庭组会员一年仅需 40 元 左右,即可获得 YouTube Music & YouTube 视频双会员,就目前来看,我想听的歌都是找得到的,我非常满意,但是有一个缺点,必须得富强,才能使用,有时候场合也不是很方便,还是想低调点使用。
后续不得不考虑自建方案,不用太多,把自己经常听的几首放进去就够用了,但是找来找去一直没找到合适的方案,感觉都很繁琐,不适合我这种懒人,好在功夫不负有心人,终于让我找到了 Navidrome,它支持 docker compose 部署,界面也是简洁、美观,让我十分喜欢。
Navidrome 简介
Navidrome 是一款基于 Web 的开源音乐收藏服务器和流媒体播放器。它让您可以自由地从任何浏览器或移动设备收听您的音乐收藏。它就像您的个人 Spotify!
1、优点:
- 处理非常大的音乐收藏
- 播放几乎所有可用的音频格式
- 读取并使用您精心策划的所有元数据(id3 标签)
- 多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。
- 资源占用极低:例如:300GB 的曲库(约 29000 首歌曲)占用的 RAM 不到 50MB
- 多平台,可在 macOS、Linux 和 Windows 上运行。还提供 Docker 镜像
- 可立即使用的 Raspberry Pi 二进制文件和 Docker 镜像
- 自动监控库中的变更,导入新文件并重新加载新元数据
- 基于 Material UI 的主题化、现代化、响应式的 Web 界面,用于管理用户和浏览您的图书馆
- 与所有 Subsonic/Madsonic/Airsonic 客户端兼容。查看已测试客户端列表
- 即时转码 / 降采样。可按用户 / 玩家设置。支持 Opus 编码
- 集成音乐播放器
2、缺点:
- 暂时没找到自动获取歌词的方法 (已找到方案,可参考 Navidrome 番外,解决歌词显示问题)
- 不支持通过界面 上传 & 删除 歌曲(后续我们会通过其他的方式实现 上传 & 删除 功能)
3、官方演示站点:
https://demo.navidrome.org/app/
4、 项目地址:
Docker Hub 地址:https://hub.docker.com/r/deluan/navidrome
Github 地址:https://github.com/navidrome/navidrome
开始搭建
1、 搭建 Navidrome
我们将采用 docker compose 来搭建,docker & docker compose 的安装我就不赘述了,谷歌随便一搜一大把。
1 | apt update -y ## 安装前先升级系统包 |
贴一个实际我在用的 docker-compose 配置示例(可以通过 LASTFM & SPOTIFY 削刮封面图等信息)
1 | version: "3" |
2、获取 LASTFM & SPOTIFY 密钥信息
1). 获取 LASTFM 密钥信息
首先需要一个 Last.fm
免费帐户,其次你要能访问 Last.fm
转到 https://www.last.fm/api/account/create 并创建一个 API 帐户。只有应用程序名称 字段是强制性的
提交表单后,可以从 API account Created
页面获取 API Key
和 Shared Secret
将获取的密钥信息复制到刚才的 docker-compose.yml 文件内进行替换。
2). 获取 SPOTIFY 密钥信息
在 Spotify 中创建一个免费帐户,然后按照以下步骤操作:
单击 Spotify 的开发者仪表板中的 CREATE AN APP
按钮:https://developer.spotify.com/dashboard/applications
填入 应用名称 应用程序描述 重定向 URL(可以随意填写)计划使用(建议全部勾选)然后保存即可
将获取的密钥信息复制到刚才的 docker-compose.yml 文件内进行替换。
3、运行
密钥替换完毕后,我们同时按住 Ctrl+X 键,输入 Y , 回车
然后输入以下命令启动:
1 | docker compose up -d |
输入 IP:4533
就可以访问了
域名访问,可以参考这篇文章最后的配置域名访问部分:https://makifx.com/1240.html
4、成品展示
目前刚部署上,还没存几首,仅作展示:
更新
1 | cd /home/docker/navidrome # 进入安装目录/ |
卸载
1 | cd /home/docker/navidrome |
解决音乐 上传 & 删除 问题(番外)
1、搭建
我们将采用 filebrowser 来管理歌曲文件,可以有效解决音乐 上传 & 删除 问题。
直接输入以下命令运行即可:
1 | docker run -d --restart=always \ |
2、 成品展示
至此,属于你自己的音乐服务器就搭建完毕了,赶紧扩充你的音乐库,开始享受吧!
Navidrome 解决歌词显示问题
背景:
上一期我们搭建了属于自己的音乐服务器 Navidrome,详情参考:10 分钟搭建一个可以实现音乐自由的音乐服务器 - Navidrome
直接调用 115 网盘资源,不占用服务器空间,使用起来也是非常的舒服,上传了一些我常听的歌,顺便把我收集来的一个 880G 的音乐资源包一起放进去了,但是有一个痛点就是没有歌词显示,让习惯了听歌看歌词的我非常的不习惯,几经周折也是让我发现了一款名为 【音乐标签】 的开源项目,可以专门针对音乐进行削刮,效果我也是比较满意。
Music Tag Web
【音乐标签】Web 版是一款可以编辑歌曲的标题,专辑,艺术家,歌词,封面等信息的音乐标签编辑器程序, 支持 FLAC, APE, WAV, AIFF, WV, TTA, MP3, M4A, OGG, MPC, OPUS, WMA, DSF, DFF, MP4 等音频格式。
项目特点:
- 支持大部分音频格式元数据的查看、编辑和修改
- 支持批量自动修改(刮削)音乐标签
- 支持音乐指纹识别,即使没有元数据也可以识别音乐
- 支持整理音乐文件,按艺术家,专辑分组, 或者自定义多级分组
- 支持文件排序,按照文件名,文件大小,更新时间排序
- 支持批量转换音乐元数据繁体转简体,或者简体转繁体
- 支持文件名称的拆分解包,补充缺失元数据信息
- 支持文本替换,批量替换音乐元数据中脏数据
- 支持音乐格式转换,引入 ffmpeg 支持音乐格式转换
- 支持整轨音乐文件的切割
- 支持多种音乐标签来源
- 支持歌词翻译功能
- 支持显示操作记录
- 支持导出专辑封面文件,支持自定义上传专辑封面
- 支持适配移动端 UI,支持手机端访问
- 支持使用小爱同学播放本地音乐,播放 NAS 本地音乐
需要注意的一点是有的功能是 V2 专属(付费),不过免费版对于削刮来说也够用了。
项目地址:
【Music Tag Web】Github 地址:https://github.com/xhongc/music-tag-web
【Music Tag Web】官网:https://xiers-organization.gitbook.io/music-tag-web
本人自用客户端推荐:https://github.com/gitbobobo/StreamMusic
搭建:
1、 搭建 Music Tag Web
1 | mkdir -p /home/docker/tag ## 路径和名称可以自定义 |
下面是 docker-compose.yml 配置文件
1 | version: '3' |
2、 运行
1 | docker compose up -d |
输入 IP:8992
就可以访问了,默认账号密码均为:admin
域名访问,可以参考这篇文章最后的配置域名访问部分:https://makifx.com/1240.html
3. 成品展示

卸载:
1 | cd /home/docker/tag |