-
Notifications
You must be signed in to change notification settings - Fork 19
Docker
docker run -dit
-v /jd-base/jd/config:/jd/config # 配置保存目录,冒号左边请修改为你想存放的路径
-v /jd-base/jd/log:/jd/log # 日志保存目录,冒号左边请修改为你想存放的路径
-p 5678:5678
--name jd
--hostname jd
--restart always
wudongdefeng/jd-base:github
请在创建后使用docker logs -f jd查看创建日志,直到出现容器启动成功...字样才代表启动成功(不是以此结束的请更新镜像),按Ctrl+C退出查看日志。
访问http://:5678(ip是指你Docker宿主机的局域网ip),初始用户名:admin,初始密码:adminadmin,请登陆后务必修改密码,并在线编辑config.sh和crontab.list,其中config.sh可以对比修改,如何修改请仔细阅读各文件注释。如未启用控制面板自动启动功能,请运行docker exec -it jd node /jd/panel/server.js来启动,使用完控制面板后Ctrl+C即可结束进程。如无法访问,请从防火墙、端口转发、网络方面着手解决。实在无法访问,就使用winscp工具sftp连接进行修改。
只有Cookie是必填项,其他根据你自己需要填。编辑好后,如果需要启动挂机程序(目前只有一个疯狂的JOY需要挂机),请重启容器:docker restart jd。在创建容器前config.sh中就有有效Cookie的,无需重启容器。
如何更新配置文件
访问http://:5678并编辑保存好即可,其他啥也不用干,容器也不用重启。其中config.sh改完立即生效,crontab.list会在下一次任何定时薅羊毛任务启动时更新。config.sh可以通过控制面板的对比工具对比修改。
如未启用控制面板自动启动功能,请运行docker exec -it jd node /jd/panel/server.js来启动,使用完控制面板后Ctrl+C即可结束进程。如无法访问,请从防火墙、端口转发、网络方面着手解决。
也可以不通过控制面板,而是通过sftp连接修改,你自己的配置文件config.sh可对照仓库中sample/config.sh.sample修改。 如何重置控制面板用户名和密码
docker exec -it jd bash jd resetpwd
如何添加其他脚本
本环境基于node,所以也只能跑js脚本。你可以把你的后缀为.js的脚本放在你映射的config或映射的scripts下即可。比如你放了个test.js,可以在你的crontab.list中添加如下的定时任务:
15 10 * * * bash jd test # 如果不需要准时运行或RandemDelay未设置 15 10 * * * bash jd test now # 如果设置了RandemDelay但又需要它准时运行
识别顺序:1. /jd/scripts、2. /jd/scripts/backUp、3. /jd/config,如果一个脚本在多个目录下均存在,以先找到的为准。
如果急你就运行一下docker exec -it jd crontab /jd/config/crontab.list更新定时任务即可,如果不急就等着程序自己添加进定时任务。
注意:在crontab.list中,你额外添加的任务不能以“jd_”、“jr_”、“jx_”开头,以“jd_”、“jr_”、“jx_”开头的任务如果不在https://github.com/LXK9301/jd_scripts 和 https://github.com/shylocks/Loon 这两个仓库中,那么这个任务会被删除。
其他说明:
如果你额外加的脚本要用到环境变量,直接在你的config.sh文件最下方按以下形式添加好变量即可(单引号或双引号均可):
export 变量名1="变量值1"
export 变量名2="变量值2"
export 变量名3="变量值3"
如果你额外添加的脚本要用到lxk0301大佬仓库中的sendNotify.js来发送通知,或者要用到jdCookie.js来处理Cookie,建议你直接放在容器内的/jd/scripts文件夹下,按以下命令复制进容器(如果没有映射/jd/scripts出来的话,重新部署容器后要再次运行):
docker cp /宿主机上脚本存放路径/test.js jd:/jd/scripts
如何手动运行脚本
手动 git pull 更新脚本
docker exec -it jd bash git_pull
手动删除指定时间以前的旧日志
docker exec -it jd bash rm_log
手动导出所有互助码
docker exec -it jd bash export_sharecodes
手动启动挂机程序(容器会在启动时立即启动挂机程序,所以你想重启挂机程序,你也可以重启容器,而不采用下面的方法。)
docker exec -it jd bash jd hangup
然后挂机脚本就会一直运行。如需查看挂机脚本日志,请输入docker exec -it jd pm2 monit或docker exec -it jd pm2 logs查看。因挂机程序日志过多,不再记录在log文件中。
手动执行薅羊毛脚本,用法如下(其中-it后面的jd为容器名,bash后面的jd为命令名,xxx为lxk0301大佬的脚本名称),不支持直接以node xxx.js命令运行:
docker exec -it jd bash jd xxx # 如果设置了随机延迟并且当时时间不在0-2、30-31、59分内,将随机延迟一定秒数
docker exec -it jd bash jd xxx now # 无论是否设置了随机延迟,均立即运行