PanCheck 容器化部署自建网盘链接检测服务全流程一、PanCheck介绍1.1 PanCheck简介1.3 PanCheck主要特性1.3 支持的网盘平台二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、拉取PanCheck镜像五、部署PanCheck服务5.1 创建部署目录5.2 编辑部署文件5.3 创建PanCheck容器5.4 查看PanCheck容器状态5.5 检查PanCheck容器日志六、访问PanCheck服务6.1 访问PanCheck首页6.2 检测功能七、总结一、PanCheck介绍1.1 PanCheck简介PanCheck 是一个功能强大的网盘链接有效性检测系统支持批量检测多种主流网盘平台的分享链接是否有效。1.3 PanCheck主要特性 多平台支持支持检测 9 种主流网盘平台的链接⚡ 高性能检测支持并发检测可配置检测频率和超时时间 数据统计提供详细的检测统计和数据分析 定时任务支持创建定时检测任务自动检测链接有效性 数据持久化使用 MySQL 存储检测记录Redis 缓存失效链接 现代化界面基于 React TypeScript 的现代化管理后台 容器化部署提供 Docker Compose 一键部署方案1.3 支持的网盘平台夸克网盘UC网盘百度网盘天翼云盘123网盘115网盘阿里云盘迅雷云盘中国移动云盘二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为 Ubuntu 24.04.2 LTS。hostnameIP地址操作系统版本Docker版本部署项目备注jeven192.168.3.88Ubuntu 24.04.2 LTS28.5.0PanCheck——2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署PanCheck网盘链接检测系统。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/usr/lib/systemd/system/docker.service;enabled;preset: enabled)Active: active(running)since Tue2026-01-0617:39:44 CST;6h ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:1220391(dockerd)Tasks:50Memory:111.9M(peak:706.6M swap:5.2M swap peak:5.2M)CPU: 4min33.194s CGroup: /system.slice/docker.service3.2 检查Docker版本检查Docker版本rootjeven:~# docker -vDocker version28.5.0, build 887030f3.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven:~# docker compose versionDocker Compose version v2.39.4四、拉取PanCheck镜像下载PanCheck镜像执行以下命令dockerpull lampon/pancheck:latestdockerpull mysql:8.0dockerpull redis:latest五、部署PanCheck服务5.1 创建部署目录创建部署目录mkdir-p/data/pancheck/{mysql,redis}cd/data/pancheck目录授权chmod-R777/data/pancheck5.2 编辑部署文件新建及编辑docker-compose.yaml文件宿主机映射端口可自行设置注意防止端口冲突。vimdocker-compose.yamlservices:pancheck:image:lampon/pancheck:latestcontainer_name:pancheckports:-5200:8080environment:-SERVER_PORT8080# 服务端口-SERVER_MODErelease# 服务模式-SERVER_CORS_ORIGINS*# 跨域请求允许的源-DATABASE_TYPEmysql# 数据库类型-DATABASE_HOSTdb# 数据库地址-DATABASE_PORT3306# 数据库端口-DATABASE_USERroot# 数据库用户名-DATABASE_PASSWORDpancheck# 数据库密码-DATABASE_DATABASEpancheck# 数据库名称-DATABASE_CHARSETutf8mb4# 数据库字符集-CHECKER_DEFAULT_CONCURRENCY5# 默认并发数-CHECKER_TIMEOUT30# 超时时间秒-REDIS_ENABLEDtrue# 是否启用Redis-REDIS_HOSTredis# Redis地址-REDIS_PORT6379# Redis端口-REDIS_USERNAME# Redis用户名-REDIS_PASSWORD# Redis密码-REDIS_INVALID_TTL168# 失效链接缓存时间小时-ADMIN_PASSWORDadmin123# 后台管理密码volumes:-./data:/app/datarestart:unless-stoppeddepends_on:-db-redishealthcheck:test:[CMD,wget,--no-verbose,--tries1,--spider,http://localhost:8080/api/v1/health]interval:30stimeout:10sretries:3start_period:40sdb:image:mysql:8.0container_name:pancheck-dbenvironment:-MYSQL_ROOT_PASSWORDpancheck-MYSQL_DATABASEpancheck-MYSQL_CHARACTER_SET_SERVERutf8mb4-MYSQL_COLLATION_SERVERutf8mb4_unicode_civolumes:-./mysql:/var/lib/mysqlrestart:unless-stoppedhealthcheck:test:[CMD,mysqladmin,ping,-h,localhost,-u,root,-p$$MYSQL_ROOT_PASSWORD]interval:10stimeout:5sretries:5redis:image:redis:latestcontainer_name:pancheck-redis# ports:# - 6379:6379volumes:-./redis:/datarestart:unless-stoppedcommand:redis-server--appendonly yeshealthcheck:test:[CMD,redis-cli,ping]interval:10stimeout:3sretries:35.3 创建PanCheck容器执行以下命令创建PanCheck容器。dockercompose up-d5.4 查看PanCheck容器状态检查PanCheck容器运行状态确保PanCheck容器正常启动。rootjeven:/data/pancheck# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS pancheck lampon/pancheck:latest./mainpancheck36seconds ago Up21seconds(healthy)6080/tcp,0.0.0.0:5200-8080/tcp,[::]:5200-8080/tcp pancheck-db mysql:8.0docker-entrypoint.s…db36seconds ago Up36seconds(healthy)3306/tcp,33060/tcp pancheck-redis redis:latestdocker-entrypoint.s…redis36seconds ago Up36seconds(healthy)6379/tcp5.5 检查PanCheck容器日志检查容器运行日志确保PanCheck服务正常运行。dockercompose logs六、访问PanCheck服务6.1 访问PanCheck首页浏览器地址http://个人的服务器IP:5200访问PanCheck初始页。如果无法访问请确保宿主机的防火墙已关闭或已放行相关端口对于云服务器还需配置相应的安全组规则。6.2 检测功能复制网盘的分享链接点击“开始检测”即可。七、总结通过本次实战我们成功使用 Docker 快速部署了 PanCheck 网盘链接检测工具实现了对多平台网盘资源可用性的自动化验证。整个部署流程简洁高效充分体现了容器化应用在环境隔离与快速交付方面的优势。PanCheck 支持主流网盘平台能够有效识别有效链接提升资源共享的可靠性与用户体验。未来可结合定时任务或 API 集成进一步拓展其在自动化运维或内容管理场景中的应用价值。