mirror of
https://github.com/mikumifa/biliTickerBuy.git
synced 2026-07-14 13:40:12 -04:00
6.1 KiB
6.1 KiB
Docker 部署指南
本文说明如何使用 GitHub Container Registry 中已经构建好的镜像部署 biliTickerBuy。
当前镜像仓库地址:
- GitHub Packages:
https://github.com/mikumifa/biliTickerBuy/pkgs/container/bilitickerbuy - GHCR 镜像名:
ghcr.io/mikumifa/bilitickerbuy
前置要求
- 已安装 Docker Engine 或 Docker Desktop
- 如果使用
docker compose,需要安装 Docker Compose
方式一:使用 docker run
最小启动
直接运行:
docker run -d \
--name bilitickerbuy \
-p 7860:7860 \
-e BTB_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
ghcr.io/mikumifa/bilitickerbuy:latest
启动后访问:
http://服务器IP:7860
带持久化挂载启动
长期使用建议挂载配置、Cookies、日志和运行目录:
docker run -d \
--name bilitickerbuy \
-p 7860:7860 \
-e BTB_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
-e GRADIO_NUM_PORTS=100 \
-e BTB_CONFIG_PATH=/app/data/config.json \
-e BTB_COOKIES_PATH=/app/data/cookies.json \
-e BTB_LOG_DIR=/app/data/btb_logs \
-v $(pwd)/data:/app/data \
ghcr.io/mikumifa/bilitickerbuy:latest
Windows PowerShell 示例:
docker run -d `
--name bilitickerbuy `
-p 7860:7860 `
-e BTB_SERVER_NAME=0.0.0.0 `
-e GRADIO_SERVER_PORT=7860 `
-e GRADIO_NUM_PORTS=100 `
-e BTB_CONFIG_PATH=/app/data/config.json `
-e BTB_COOKIES_PATH=/app/data/cookies.json `
-e BTB_LOG_DIR=/app/data/btb_logs `
-v ${PWD}/data:/app/data `
ghcr.io/mikumifa/bilitickerbuy:latest
查看日志:
docker logs -f bilitickerbuy
停止并删除容器:
docker rm -f bilitickerbuy
方式二:使用 docker compose
如果你希望长期运行并持久化配置,建议使用 docker compose。
示例 compose.yaml:
services:
bilitickerbuy:
image: ghcr.io/mikumifa/bilitickerbuy:latest
container_name: bilitickerbuy
restart: unless-stopped
ports:
- "7860:7860"
environment:
BTB_SERVER_NAME: 0.0.0.0
GRADIO_SERVER_PORT: 7860
GRADIO_NUM_PORTS: 100
BTB_CONFIG_PATH: /app/data/config.json
BTB_COOKIES_PATH: /app/data/cookies.json
BTB_LOG_DIR: /app/data/btb_logs
volumes:
- ./data:/app/data
启动:
docker compose up -d
查看日志:
docker compose logs -f
停止:
docker compose down
常用环境变量
可按需在 docker run 或 docker compose 中设置以下变量:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
BTB_SERVER_NAME |
Web 服务监听地址 | 0.0.0.0 |
GRADIO_SERVER_PORT |
Web 服务端口 | 7860 |
GRADIO_NUM_PORTS |
Gradio 可用端口池大小 | 100 |
BTB_CONFIG_PATH |
配置文件路径 | 默认 /app/config.json,Docker 推荐 /app/data/config.json |
BTB_COOKIES_PATH |
Cookies 文件路径 | 默认 /app/cookies.json,Docker 推荐 /app/data/cookies.json |
BTB_LOG_DIR |
日志目录 | 默认 /app/btb_logs,Docker 推荐 /app/data/btb_logs |
BTB_SHARE |
是否启用 Gradio 公网分享 | false |
BTB_PUSHPLUSTOKEN |
PushPlus 通知 token | 空 |
BTB_BARKTOKEN |
Bark 通知 token | 空 |
BTB_NTFY_URL |
ntfy 推送地址 | 空 |
更新镜像
如果要更新到最新镜像:
docker pull ghcr.io/mikumifa/bilitickerbuy:latest
docker rm -f bilitickerbuy
docker run -d \
--name bilitickerbuy \
-p 7860:7860 \
-e BTB_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \
-e GRADIO_NUM_PORTS=100 \
-e BTB_CONFIG_PATH=/app/data/config.json \
-e BTB_COOKIES_PATH=/app/data/cookies.json \
-e BTB_LOG_DIR=/app/data/btb_logs \
-v $(pwd)/data:/app/data \
ghcr.io/mikumifa/bilitickerbuy:latest
如果你使用固定版本,把 latest 替换成目标版本标签即可,例如:
ghcr.io/mikumifa/bilitickerbuy:v2.15.8
如果使用的是 docker compose,修改镜像标签后执行:
docker compose pull
docker compose up -d
常见问题
无法访问页面
优先检查:
- 容器是否正常运行:
docker ps - 日志中是否有报错:
docker logs -f bilitickerbuy - 宿主机防火墙是否放行了
7860 - 云服务器安全组是否放行了
7860
配置和登录状态丢失
如果没有挂载 config.json、cookies.json、btb_logs、btb_runs,删除容器后这些内容会一起丢失。长期部署时建议使用 docker compose,或者至少在 docker run 中加上数据卷挂载。
报错 IsADirectoryError: /app/config.json
这通常说明你把一个目录挂载到了本应是文件的配置路径上。
修复方式:
- 删除错误创建的目录
- 重新创建
config.json和cookies.json空文件 - 改用整目录挂载
./data:/app/data - 把
BTB_CONFIG_PATH设置为/app/data/config.json - 把
BTB_COOKIES_PATH设置为/app/data/cookies.json
报错 gradio.exceptions.InvalidPathError
这通常说明你把持久化文件放在了 /data 这种不在 Gradio 默认允许范围内的目录。
最直接的修复是把数据目录挂到 /app/data,因为 /app 就是应用当前工作目录:
-e BTB_CONFIG_PATH=/app/data/config.json \
-e BTB_COOKIES_PATH=/app/data/cookies.json \
-e BTB_LOG_DIR=/app/data/btb_logs \
-v $(pwd)/data:/app/data \
想使用其他标签
可在 GitHub Packages 页面查看当前可用标签:
https://github.com/mikumifa/biliTickerBuy/pkgs/container/bilitickerbuy