VergilGao / docker-mdc

https://github.com/yoshiko2/Movie_Data_Capture 的 docker镜像,帮助你更优雅的管理硬盘中的大姐姐们。
GNU General Public License v3.0
558 stars 94 forks source link

Movie Data Capture - Docker

github GitHub stars | dockerhub

release GitHub license

数据无价,请谨慎操作!

数据无价,请谨慎操作!

数据无价,请谨慎操作!

重要的事情说三遍。

Movie_Data_Capture 以下简称 mdc是一款由yoshiko2使用 python3编写的成人影片刮削器。

本镜像能帮助用户在nas中无需安装运行时环境,可以更简单的使用 mdc

本仓库针对 unraid系统做出了特别优化,对于 unraid用户,本镜像的默认配置即可避免权限问题。对于其他nas系统用户,请按照各自的系统权限策略设置 UID GID UMASK三个环境变量。

本镜像从仓库Movie_Data_Capture构建,因为本人工作较忙,很可能不会及时和上游release同步。

更新日志

20230523:

因为上游人脸识别模块需要的依赖在 arm64 架构下需要编译,本人不擅长编译 pip 模块,所以放弃了 arm64 架构的维护。

20220529:

20220528:

20220312:

20220209:

测试

首先你可以测试一下程序是否可用。

docker pull ghcr.io/vergilgao/mdc:latest
mkdir test
dd if=/dev/zero of="./test/MIFD-046.mp4" bs=250MB count=1
docker run --rm --name mdc_test -it -v ${PWD}/test:/data -v ${PWD}/config:/config -e UID=$(stat -c %u test) -e GID=$(stat -c %g test) ghcr.io/vergilgao/mdc:latest

然后你会看到如下输出:

---Setup Timezone to Asia/Shanghai---
---Checking if UID: 1000 matches user---
usermod: no changes
---Checking if GID: 1000 matches user---
usermod: no changes
---Setting umask to 002---
---Taking ownership of data...---
Checking if config file exist
Starting...
[*]================= Movie Data Capture =================
[*]                        6.2.1
[*]======================================================
[*] - Linux-5.4.0-110-generic-x86_64-with
[*] - x86_64 - Python-3.9.13
[*]======================================================
[*] - 严禁在墙内宣传本项目 -
[*]======================================================
[+]Start at 2022-05-26 15:12:30
[+]Load Config file '/config/mdc.ini'.
[+]Main Working mode ## 1: Scraping ## , nfo_skip_days=30
[+]Find 1 movies.
[*]======================================================
[!]                - 100.% [1/1] -             15:12:31
[!] [MIFD-046] As Number Processing for '/data/御坂りあ/MIFD-046/MIFD-046.mp4'
[+]Find movie [MIFD-046] metadata on website 'javbus'
[+]Image Downloaded! MIFD-046-fanart.jpg
[+]Image Cutted!     MIFD-046-poster.jpg
[+]Wrote!            JAV_output/御坂りあ/MIFD-046/MIFD-046.nfo
[*]======================================================
[+]Deleting empty folder /data/JAV_output/御坂りあ/MIFD-046/extrafanart
[+]Deleting empty folder /data/failed
[+]Running time 0:00:17.748  End at 2022-05-26 15:12:47
[+]All finished!!!
Log file '/config/.mlogs/mdc_20220526T151229.txt' saved.

确认程序没有问题后把测试数据删掉就好了。

rm -rf test

docker环境变量

本镜像增加了权限设置功能,你可以通过使用 UID (用户id) GID (组id) 两个环境变量来配置程序运行后所有文件的权限。

字段名 值语义 预设值
UID uid 99
GID gid 100
UMASK data目录的umask 002
TZ 容器内时间区域 Asia/Shanghai

程序运行时配置

映射mdc.ini文件

假设你的mdc.ini文件存放在当前目录的config子目录下。

docker run --rm -it \
  --name mdc_test \
  -v ${PWD}/test:/data \
  -v ${PWD}/config:/config \
  -e UID=1000 \
  -e GID=1000 \
  vergilgao/mdc:latest

程序将在启动时检测是否存在配置文件,如果不存在,将会在config映射目录下创建,并且退出。请修改配置文件后再次启动程序。

环境变量配置(已废弃)

夜间构建版本(已暂停)

本仓库每周一次使用当时的最新上游源码构建,tag为nightly,你可以选择拉取 vergilgao/mdc:nightlyghcr.io/vergilgao/mdc:nightly进行测试,注意此tag仅用于测试,并不保证会更新至最新源码,更不保证功能的稳定性。 此外,由于配置文件兼容性问题,默认情况下,夜间构建版本会忽略传入的配置文件环境变量,使用夜间构建版本强烈建议自行映射配置文件。

构建(开发人员,构建方式已经发生变化,等待补充修改)

cd docker-mdc
docker build -t mdc --build-arg MDC_VERSION="6.0.1" ./

mkdir test
dd if=/dev/zero of="./test/MIFD-046.mp4" bs=250MB count=1
docker run --rm --name mdc_test -it -v ${PWD}/test:/data -e UID=$(stat -c %u test) -e GID=$(stat -c %g test) vergilgao/mdc:latest

申明

当你查阅、下载了本项目源代码或二进制程序,即代表你接受了以下条款


When you view and download the source code or binary program of this project, it means that you have accepted the following terms


本プロジェクトのソースコード、バイナリファイルをダウンロード、または表示するしたうえで、あなたは本規約に同意したものと見なします。