目录中,命令可参考 mkdir </path/to/tv_shows/>
。
新建数据文件夹</path/to/local/data/>
,命令可参考 mkdir </path/to/local/data/>
。
部署安装
这里我们使用 Docker 来部署,docker-compose.yml
的参考内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| --- version: \\"2.1\\" services: tinymediamanager: image: tinymediamanager/tinymediamanager:latest container_name: tinymediamanager environment: - USER_ID=1000 - GROUP_ID=100 - ALLOW_DIRECT_VNC=true - LC_ALL=en_US.UTF-8 # force UTF8 - LANG=en_US.UTF-8 # force UTF8 - PASSWORD=<password> - TZ=Asia/Shanghai volumes: - </path/to/local/data/>:/data - </path/to/movies>:/media/movies - </path/to/tv_shows/>:/media/tv_shows ports: - 5900:5900 # VNC port - 4000:4000 # Webinterface restart: unless-stopped
|
将上方代码中<password>
改为 TMM 访问密码,配置好后执行如下命令即可:
基本使用
第一次启动时,会进入 TMM 设置向导。需要选择媒体类型、设置媒体目录路径、选择元数据来源等。按照向导提示逐步完成设置即可:
设置完成后 TMM 会自动扫描指定的媒体目录,识别其中媒体文件,并尝试从在线数据库中获取相应的元数据:
TMM 会根据文件标题到电影资料网站上匹配电影信息,下载电影资料及图片到本地。可以查看和编辑这些元数据,确保信息的准确性和完整性:
TMM 还可按照一定的规则批量重命名和整理媒体文件,使文件名称更加规范和统一,方便管理、查找:
","description":"杜老师使用 Emby 管理媒体文件,但刮削时经常报错。tinyMediaManager 是款功能强大的开源媒体管理工具,能够帮助轻松整理和管理媒体库。本文将详细介绍 tinyMediaManager 的搭建过程和基本使用方法。 什么是 tinyMediaManager\\n\\ntinyMediaManager 简称 TMM 是一款用 Java/Swing 编写的媒体管理工具,能够为 Jellyfin、Emby 等媒体服务器提供元数据。\\n\\n通过 TMM 可以抓取和整理影片详细信息、封面图像、演员列表、导演信息等元数据,让媒体库更加丰富、完整。\\n\\n搭建准备\\n\\n准备好想要管理的电影…","guid":"https://dusays.com/807/","author":null,"authorUrl":null,"authorAvatar":null,"publishedAt":"2025-03-09T16:00:00.903Z","media":[{"url":"https://cdn.dusays.com/2025/03/807-1.jpg","type":"photo","width":1918,"height":866,"blurhash":"LdL}EN?b?bWB00WVj[t74nRjIUt7"},{"url":"https://cdn.dusays.com/2025/03/807-2.jpg","type":"photo","width":1918,"height":866,"blurhash":"LVMj]w-;?a%M00ogIURj00t7IURj"},{"url":"https://cdn.dusays.com/2025/03/807-3.jpg","type":"photo","width":1918,"height":866,"blurhash":"LmN17Txuj?%M00oLj[WB4nRkj]ax"},{"url":"https://cdn.dusays.com/2025/03/807-4.jpg","type":"photo","width":1918,"height":866,"blurhash":"LZM@l$xu%M%M4nWBE1Rj00ofM{Rj"}],"categories":["资源分享","刮削"],"attachments":null,"extra":null,"language":null},{"title":"RSSHub 搭建指南打造个性化资讯中心","url":"https://dusays.com/806/","content":"RSSHub 可以根据我们的需求生成个性化的 RSS 订阅源,让我们轻松地获取到各种平台的最新资讯。本文将详细介绍 RSSHub 搭建过程,快速搭建起属于自己的资讯中心。
RSSHub 是一个轻量、易于扩展 RSS 生成器,它基于 Node.js 开发,支持多种平台和类型订阅源,包括但不限于微博、知乎、B 站、GitHub 等。
通过简单的配置和路由规则,我们就能生成自己想要的 RSS 订阅链接,随时随地获取最新内容更新。
搭建前的准备
在开始搭建 RSSHub 之前,我们需做一些准备工作。需一台服务器,可以是云主机,也可以是本地的计算机。服务器需要具备公网 IP 地址,以便我们能够从外部访问搭建好的 RSSHub 服务。
RSSHub 基于 Docker 部署,因此需要在服务器上安装 Docker 环境。
RSSHub 支持缓存中间件,如 Redis。
为方便访问和使用,建议注册一个域名,并将其解析到服务器的 IP 地址上。
将下面的内容保存为 docker-compose.yml
文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| services: rsshub: # two ways to enable puppeteer: # * comment out marked lines, then use this image instead: diygod/rsshub:chromium-bundled # * (consumes more disk space and memory) leave everything unchanged image: diygod/rsshub restart: always ports: - \\"1200:1200\\" environment: NODE_ENV: production CACHE_TYPE: redis REDIS_URL: \\"redis://redis:6379/\\" PUPPETEER_WS_ENDPOINT: \\"ws://browserless:3000\\" # marked healthcheck: test: [\\"CMD\\", \\"curl\\", \\"-f\\", \\"http://localhost:1200/healthz\\"] interval: 30s timeout: 10s retries: 3 depends_on: - redis - browserless # marked
browserless: # marked image: browserless/chrome # marked restart: always # marked ulimits: # marked core: # marked hard: 0 # marked soft: 0 # marked healthcheck: test: [\\"CMD\\", \\"curl\\", \\"-f\\", \\"http://localhost:3000/pressure\\"] interval: 30s timeout: 10s retries: 3
redis: image: redis:alpine restart: always volumes: - redis-data:/data healthcheck: test: [\\"CMD\\", \\"redis-cli\\", \\"ping\\"] interval: 30s timeout: 10s retries: 5 start_period: 5s
volumes: redis-data:
|
使用下面命令来启动 RSSHub 服务:
如需拉取新版 RSSHub 的镜像,可使用下面的命令:
如需停止服务,可使用下面的命令:
如果不喜欢使用 Docker Compose 部署,可使用下面的命令运行有 Puppeteer 依赖的 RSSHub 服务:
1
| docker run -d --name rsshub -p 1200:1200 diygod/rsshub:chromium-bundled
|
可使用下面的命令运行无 Puppeteer 依赖的 RSSHub 服务:
1
| docker run -d --name rsshub -p 1200:1200 diygod/rsshub
|
为 Follow 添加实例
如果使用 Follow 调用 RSSHub 示例,需在 docker-compose.yml
中添加一些变量。其中 FOLLOW_OWNER_USER_ID
是指您的关注账户 ID 或用户名;FOLLOW_DESCRIPTION
指实例描述;FOLLOW_PRICE
指实例月费,如设为 0 表示免费;FOLLOW_USER_LIMIT
指实例用户限制,将其设置为 0 或 1 可将实例设为私有,留空则表示无限制;ACCESS_KEY
指访问密钥:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| services: rsshub: image: diygod/rsshub:chromium-bundled restart: always ports: - \\"1200:1200\\" environment: NODE_ENV: production FOLLOW_OWNER_USER_ID=杜老师说 FOLLOW_DESCRIPTION=大带宽境外服务器 FOLLOW_PRICE=1 FOLLOW_USER_LIMIT=1000 ACCESS_KEY=ubzG7H3t9TJaFp healthcheck: test: [\\"CMD\\", \\"curl\\", \\"-f\\", \\"http://localhost:1200/healthz\\"] interval: 30s timeout: 10s retries: 3
|
登录 Follow 后,点击头像,选择 RSSHub 项。在显示页面中,点添加新实例。依次输入 RSSHub 的地址,访问密钥,最后点击添加即可:
","description":"RSSHub 可以根据我们的需求生成个性化的 RSS 订阅源,让我们轻松地获取到各种平台的最新资讯。本文将详细介绍 RSSHub 搭建过程,快速搭建起属于自己的资讯中心。 RSSHub 的简介\\n\\nRSSHub 是一个轻量、易于扩展 RSS 生成器,它基于 Node.js 开发,支持多种平台和类型订阅源,包括但不限于微博、知乎、B 站、GitHub 等。\\n\\n通过简单的配置和路由规则,我们就能生成自己想要的 RSS 订阅链接,随时随地获取最新内容更新。\\n\\n搭建前的准备\\n\\n在开始搭建 RSSHub 之前,我们需做一些准备工作。需一台服务器,可以是云主机,也可以是本地的计算机…","guid":"https://dusays.com/806/","author":null,"authorUrl":null,"authorAvatar":null,"publishedAt":"2025-03-06T16:00:00.864Z","media":[{"url":"https://cdn.dusays.com/2025/03/806-1.jpg","type":"photo","width":1918,"height":866,"blurhash":"L03IVB?bNHxtkXt7xaR*9FIUaej["}],"categories":["资源分享","搭建"],"attachments":null,"extra":null,"language":null},{"title":"加密 NFS 搭建保障数据传输与存储安全","url":"https://dusays.com/805/","content":"在现代企业环境中,数据的安全性至关重要。NFS 作为一种广泛使用的文件共享协议,其数据在传输和存储过程中若是缺乏加密保护,将面临被窃取或篡改的风险。本文将详细介绍加密 NFS 搭建过程。
NFS 的简介
NFS 是允许用户通过网络访问远程文件系统,就像访问本地文件系统一样方便。
它支持跨平台文件共享,广泛应用于 Linux 和 Unix 系统。
然而,传统的 NFS 传输数据时以明文形式在网络中传输,很容易受到中间人攻击和数据泄露的威胁。
在 NFS 的基础上,我们可以使用加密技术来保护数据传输和存储。
加密 NFS 必要性
随着数据安全法规的日益严格和企业对数据保护的重视,对 NFS 进行加密变得必不可少。
在企业中,NFS 的加密功能可以提供数据传输和存储的安全保障。
加密 NFS 可有效防止数据在传输过程中被窃取或篡改,确保数据的完整性和机密性。
同时,它也可以满足企业对数据安全合规的要求,为企业的数据资产提供更可靠的保护。
搭建加密 NFS 的步骤
在 NFS 服务器安装支持加密的 NFS 软件包。例如,在基于 Debian 的系统上,可以使用下面命令进行安装:
1
| sudo apt -y install nfs-kernel-server
|
使用下面的命令编辑 NFS 配置文件,添加加密相关选项。例如,可使用 sec = krb5i
或 sec = krb5p
选项来启用 Kerberos 加密。其中,krb5i
提供数据完整性保护,而 krb5p
则同时提供了数据加密和完整性保护:
在配置文件中指定要共享的目录及其访问权限。这表示允许客户端 IP 以读写模式访问共享目录,并启用 Kerberos 加密。例如:
1
| /path/to/shared/directory client_ip(rw,sync,no_subtree_check,sec=krb5i)
|
完成配置后重启 NFS 服务。可以使用下面命令重启服务:
1
| sudo systemctl restart nfs-kernel-server
|
使用下面的命令使配置文件生效:
在需访问加密 NFS 共享的客户端上安装 NFS 客户端软件。例如,在基于 Debian 的系统上,可以使用下面命令进行安装:
1
| sudo apt -y install nfs-common
|
使用挂载命令将加密的 NFS 共享挂载到本地目录。这将把服务器上的共享目录挂载到客户端本地目录,并启用 Kerberos 加密。例如:
1
| sudo mount -t nfs4 -o sec=krb5i server_ip:/path/to/shared/directory /local/mount/point
|
使用下面命令查看挂载文件系统,确保加密 NFS 共享已成功挂载:
加密 NFS 优势与注意事项
加密 NFS 有多种优势,例如数据加密传输、身份认证和数据完整性保护等等。
它能够有效防止数据泄露和篡改,提高数据的安全性。
然而,在搭建加密 NFS 时也需要注意一些事项。
首先,加密过程可能会增加系统的性能开销,因此需根据实际需求进行性能评估和优化。
其次,配置过程较为复杂,需仔细检查配置文件和参数设置,确保正确无误。
此外,还需要定期更新加密软件和认证机制,以应对不断变化的安全威胁。
","description":"在现代企业环境中,数据的安全性至关重要。NFS 作为一种广泛使用的文件共享协议,其数据在传输和存储过程中若是缺乏加密保护,将面临被窃取或篡改的风险。本文将详细介绍加密 NFS 搭建过程。 NFS 的简介\\n\\nNFS 是允许用户通过网络访问远程文件系统,就像访问本地文件系统一样方便。\\n\\n它支持跨平台文件共享,广泛应用于 Linux 和 Unix 系统。\\n\\n然而,传统的 NFS 传输数据时以明文形式在网络中传输,很容易受到中间人攻击和数据泄露的威胁。\\n\\n在 NFS 的基础上,我们可以使用加密技术来保护数据传输和存储。\\n\\n加密 NFS 必要性\\n\\n随着数据安全法规的日益严格和企业对数据保护…","guid":"https://dusays.com/805/","author":null,"authorUrl":null,"authorAvatar":null,"publishedAt":"2025-03-03T16:00:00.502Z","media":null,"categories":["运维教程","存储"],"attachments":null,"extra":null,"language":null},{"title":"去不图床数据清理通知","url":"https://dusays.com/804/","content":"近期发现外链流量激增,经分析了解并非是攻击导致,通过 URL 判断其来源是一些匿名及到期用户所上传的图片。因此决定发文公告:清理去不图床所有匿名用户所上传的图片,并周期检查已到期用户。
免费服务的初心与挑战
2019 年,去不图床怀着为各位小伙伴提供免费、便捷图片托管服务赤子之心,正式上线!
那会儿杜老师的目标就是给大伙儿搭个稳定可靠的平台,让大家轻轻松松的分享图片,舒舒服服存储图片。
这服务的确是受到了大家的一致好评,用户数量跟图片上传量,那叫一个节节攀升,直冲云霄!
可是好景不长,随着用户规模像滚雪球一样越滚越大,这流量成本也成了杜老师心头一块大石头。
图片托管需要海量的带宽和存储空间,这费用那是哗哗地往外流啊!
杜老师也是一直在绞尽脑汁优化成本,可那流量费用,像脱缰的野马,一发不可收拾,最终,在 2021 年不得不调整策略,从免费转向了收费,这都是为了咱这平台能继续坚挺地活下去!
流量成本与运营的压力
虽然 2021 年去不图床改成收费模式,但之前游客用户免费上传的图片,一直没有清理。
这些图片,虽然丰富了平台的内容,但是占用的存储空间和流量资源,那也是相当可观啊!
据统计游客上传的图片数量,那简直是天文数字,而且很多图片访问频率低得可怜,却依然霸占着咱宝贵的存储资源!
随着平台业务蒸蒸日上,对流量成本的控制也越来越严格。
现在运营环境,杜老师得精打细算,合理分配资源,保证已兑换容量的小伙伴能享受到更优质、更稳定的服务。
所以,经过一番深思熟虑,杜老师决定对游客用户的图片进行清理啦!
匿名用户上传图片清理
为了降低流量以及存储损耗,优化资源分配,杜老师将于 2025 年 3 月 1 日起,清理所有游客用户上传图片。
这个决定,杜老师也是万般的无奈,但这是目前运营环境下,必须采取的措施啊!
希望各位游客用户能够理解杜老师的苦衷,赶紧备份需要保存的图片吧!如有疑问,欢迎随时在评论区留言!
游客数据保留至本月中「2025 年 3 月 15 日」因为无法进行用户判定,所以杜老师已经整体打包备份了,需要的小伙伴可留言索要图片压缩包。
到期用户上传图片清理
为了进一步降低流量及存储损耗,优化资源分配,杜老师将于 2025 年 3 月 15 日起,清理所有到期用户上传图片。
已到期的用户数据清理规则如下:当月 15 日之前到期用户,数据保留至当月的最后一天;当月 15 日之后到期用户,数据保留至下个月月中。
数据清理之前,杜老师都会邮件通知用户进行再续费,通知七天后未续费则会清理数据「即当月 15 日之前到期的用户,会在当月 23 日发送通知;当月 15 日之后到期用户,会在次月 8 日发送通知」
注意图片清理是多节点同步执行,不会保留备份数据!最终解释权归去不图床所有。
","description":"近期发现外链流量激增,经分析了解并非是攻击导致,通过 URL 判断其来源是一些匿名及到期用户所上传的图片。因此决定发文公告:清理去不图床所有匿名用户所上传的图片,并周期检查已到期用户。 免费服务的初心与挑战\\n\\n2019 年,去不图床怀着为各位小伙伴提供免费、便捷图片托管服务赤子之心,正式上线!\\n\\n那会儿杜老师的目标就是给大伙儿搭个稳定可靠的平台,让大家轻轻松松的分享图片,舒舒服服存储图片。\\n\\n这服务的确是受到了大家的一致好评,用户数量跟图片上传量,那叫一个节节攀升,直冲云霄!\\n\\n可是好景不长,随着用户规模像滚雪球一样越滚越大,这流量成本也成了杜老师心头一块大石头。\\n\\n图片托管…","guid":"https://dusays.com/804/","author":null,"authorUrl":null,"authorAvatar":null,"publishedAt":"2025-02-28T16:00:00.919Z","media":null,"categories":["资源分享","通知"],"attachments":null,"extra":null,"language":null}],"readCount":708,"subscriptionCount":3,"analytics":{"feedId":"60327169782752261","updatesPerWeek":null,"subscriptionCount":3,"latestEntryPublishedAt":null,"view":0}}')