1

Docker自动签到应用(qdtoday/qd)

发表于:2024-10-9 18:33:35 Docker 840
本帖最后由 玉尺书生 于 2024-10-10 09:47 编辑

什么是 QD?

QD 是 一个 基于 HAR 编辑器和 Tornado 服务端的 HTTP 定时任务自动执行 Web 框架。

特性

  • 基于Har: 仅需上传通过抓包得到的 Har, 即可制作框架所需的 HTTP 任务模板。
  • Tornado 服务端: 使用 Tornado 作为服务端, 以实现异步响应前端和发起 HTTP 请求。
  • API & 插件支持: 内置多种 API 和过滤器用于模板制作, 后续将提供自定义插件支持。
  • 开源: QD 是一个基于 MIT 许可证的开源项目
  • 先创建文件夹,在飞牛的文件管理器→我的文件→docker→创建文件夹qd(这是我的路径,你可以根据你自己的路径自定义)。
  • 然后在飞牛的docker→compose→新增项目→项目名称(我填写的是qd)→路径(选择你刚刚建立的文件夹)→创建docker-compose.yml,然后把下面的代码粘贴进下方的空白。然后勾选“创建项目后立即启动”,点击完成。

PS:如果镜像拉不下来多试几次,或者手动去镜像仓库下载(我刚刚在构建的时候拉取镜像总失败,然后手动去仓库下载就成功下载了,不知道什么原因)。浏览器输入飞牛NASIP:端口访问WEB控制台。
构建完成之后,重启容器会发现IP+端口登陆不上了,手动修改容器设置,删除命令里的代码就可以了。
  1. version: "3"
  2. services:
  3.   qd:
  4.     image: qdtoday/qd
  5.     # image: qdtoday/qd:lite-latest # 精简版
  6.     # image: qdtoday/qd:dev # 开发版
  7.     container_name: qd
  8.     depends_on:
  9.       - redis
  10.     ports:
  11.       - "8923:80"
  12.     volumes:
  13.       - "./config:/usr/src/app/config"
  14.     environment:
  15.       # - QD_DEBUG=False
  16.       # - BIND=0.0.0.0
  17.       # - PORT=80
  18.       # - MULTI_PROCESS=False
  19.       # - AUTO_RELOAD=False
  20.       # - GZIP=True
  21.       # - ACCESS_LOG=True
  22.       # - DISPLAY_IMPORT_WARNING=True
  23.       # - USER0ISADMIN=True
  24.       # - STATIC_URL_PREFIX=/static/
  25.       - DOMAIN=
  26.       # - COOKIE_DAY=5
  27.       # - COOKIE_SECURE_MODE=False
  28.       - COOKIE_SECRET=binux
  29.       - PBKDF2_ITERATIONS=400
  30.       - AES_KEY=binux
  31.       # - DB_TYPE=sqlite3
  32.       # - JAWSDB_MARIA_URL=mysql://user:pass@localhost:3306/dbname?auth_plugin=
  33.       # - QD_SQL_LOGGING_NAME=QD.sql
  34.       # - QD_SQL_LOGGING_LEVEL=WARNING
  35.       # - QD_SQL_POOL_LOGGING_NAME=QD.sql.pool
  36.       # - QD_SQL_POOL_LOGGING_LEVEL=WARNING
  37.       # - QD_SQL_POOL_SIZE=5
  38.       # - QD_SQL_MAX_OVERFLOW=10
  39.       # - QD_SQL_POOL_PRE_PING=True
  40.       # - QD_SQL_POOL_RECYCLE=3600
  41.       # - QD_SQL_POOL_TIMEOUT=30
  42.       # - QD_SQL_POOL_USE_LIFO=True
  43.       - REDISCLOUD_URL=redis://redis:6379
  44.       # - REDIS_DB_INDEX=1
  45.       # - QD_EVIL=1000
  46.       # - EVIL_PASS_LAN_IP=True
  47.       # - WORKER_METHOD=Queue
  48.       # - QUEUE_NUM=50
  49.       # - CHECK_TASK_LOOP=500
  50.       # - TASK_MAX_RETRY_COUNT=8
  51.       # - NEW_TASK_DELAY=1
  52.       # - TASK_WHILE_LOOP_TIMEOUT=900
  53.       # - TASK_REQUEST_LIMIT=1500
  54.       # - DOWNLOAD_SIZE_LIMIT=5242880
  55.       # - REQUEST_TIMEOUT=30.0
  56.       # - CONNECT_TIMEOUT=30.0
  57.       # - DELAY_MAX_TIMEOUT=29.9
  58.       # - UNSAFE_EVAL_TIMEOUT=3.0
  59.       # - USE_PYCURL=True
  60.       # - ALLOW_RETRY=True
  61.       # - DNS_SERVER=
  62.       # - CURL_ENCODING=True
  63.       # - CURL_CONTENT_LENGTH=True
  64.       # - NOT_RETRY_CODE=301|302|303|304|305|307|400|401|403|404|405|407|408|409|410|412|415|413|414|500|501|502|503|504|599
  65.       # - EMPTY_RETRY=True
  66.       # - TRACEBACK_PRINT=False
  67.       # - PUSH_PIC_URL=https://gitee.com/qd-today/qd/raw/master/web/static/img/push_pic.png
  68.       # - PUSH_BATCH_SW=True
  69.       # - PUSH_BATCH_DELTA=60
  70.       # - WS_PING_INTERVAL=5
  71.       # - WS_PING_TIMEOUT=30
  72.       # - WS_MAX_MESSAGE_SIZE=10485760
  73.       # - WS_MAX_QUEUE_SIZE=100
  74.       # - WS_MAX_CONNECTIONS_SUBSCRIBE=30
  75.       # - SUBSCRIBE_ACCELERATE_URL=jsdelivr_cdn
  76.       # - PROXIES=
  77.       # - PROXY_DIRECT_MODE=regexp
  78.       # - PROXY_DIRECT=(?xi)\A([a-z][a-z0-9+\-.]*://)?(0(.0){3}|127(.0){2}.1|localhost|\[::([\d]+)?\])(:[0-9]+)?
  79.       # - NOTEPAD_LIMIT=20
  80.       # - EXTRA_ONNX_NAME=
  81.       # - EXTRA_CHARSETS_NAME=
  82.       # - MAIL_SMTP=
  83.       # - MAIL_PORT=465
  84.       # - MAIL_SSL=True
  85.       # - MAIL_STARTTLS=False
  86.       # - MAIL_USER=
  87.       # - MAIL_PASSWORD=
  88.       # - MAIL_FROM=${MAIL_USER}
  89.       # - MAIL_DOMAIN_HTTPS=False
  90.       # - MAILGUN_KEY=
  91.       # - MAILGUN_DOMAIN=${DOMAIN}
  92.       # - GA_KEY=

  93.   redis:
  94.     image: redis:alpine
  95.     container_name: redis
  96.     command: ["--loglevel warning"]
  97.     # command: redis-server /usr/local/etc/redis/redis.conf
  98.     volumes:
  99.       # - ./redis/redis.conf:/usr/local/etc/redis/redis.conf:rw
  100.       - ./redis/data:/data:rw
复制代码


收藏
送赞 1
分享

发表回复