279 字
1 分钟
TrueNAS APP(docker)替换官方存储库(repo

Docker 替换应用镜像加速 / 官方存储库 国内镜像加速,解决网络问题

更新#

25.06.26 已经更新支持docker和repo同时替换镜像

不想学#

我已经镜像到Gitee了,每日定时更新,下面脚本直接执行就能替换,可以把bash /你放脚本的路径/tn-apps-repo-rp.sh --use-defaults --force放到开机启动,重启或者更新也有效

https://gitee.com/channinghe/truenas-apps

Terminal window
cd /mnt/你放脚本的地方
wget https://file.homelabproject.cc/d/local/Server/Src/truenas/tn-apps-repo-rp.sh
chmod +x ./tn-apps-repo-rp.sh
# 使用了默认脚本的镜像源,注意--force会默认自动重启docker和TrueNAS中间价。
bash ./tn-apps-repo-rp.sh --use-defaults --force

原理#

首先官方存储库定义文件在 /usr/lib/python3/dist-packages/middlewared/plugins/catalog/utils.py 这是个不可读文件,所以我们需要用mount的方式

下面操作一律root操作 注意自己备份文件

先到一个放utils.py 替换文件的路径,复制源文件

Terminal window
cd /mnt/xxx/xxx
Terminal window
cp /usr/lib/python3/dist-packages/middlewared/plugins/catalog/utils.py ./utils.py

修改URL,你可以nano自己改OFFICIAL_CATALOG_REPO = 'https://github.com/truenas/apps' 内,可以用下面的sed直接替换

Terminal window
sed -i 's|https://github.com/truenas/apps|https://[github 加速镜像]/truenas/apps|g' ./utils.py

用mount —bind强制覆盖

Terminal window
mount --bind ./utils.py /usr/lib/python3/dist-packages/middlewared/plugins/catalog/utils.py

最后重启中间价即可

Terminal window
systemctl restart middlewared
TrueNAS APP(docker)替换官方存储库(repo
https://www.homelabproject.cc/posts/truenas/truenas--appdocker替换官方存储库repo/
作者
Channing He
发布于
2025-02-17
许可协议
CC BY-NC-SA 4.0