Files
study-tool/docker-compose.yml
T
study-tool 35853891c9 fix: 页面标题改为莞易学,容器内固定国内 DNS
- static/index.html:标题与页头 h1 由「多账号学习控制台」改为「莞易学」
- docker-compose.yml:容器固定 223.5.5.5 / 119.29.29.29,绕过宿主机不可用的 1.1.1.1 上游
2026-10-28 20:41:44 +08:00

44 lines
1.6 KiB
YAML

# 多账号学习控制台 —— Docker 部署
# docker compose up -d --build 起服务
# docker compose logs -f 看日志
# docker compose down 停服务(data/ 卷保留,账号和设置不丢)
#
# 远程管理:确保 .env 里设了 AUTH_TOKEN,再用 http://<服务器IP>:8848/?token=<AUTH_TOKEN> 打开
services:
study-tool:
build:
context: .
args:
# 直链视频(fileType=other)要 Chromium 真播到结尾;不要就把这里改成 "0"(镜像小很多)
WITH_PLAYWRIGHT: "1"
image: study-tool:latest
container_name: study-tool
restart: unless-stopped
ports:
- "${BIND_ADDR:-0.0.0.0}:${PORT:-8848}:8848"
environment:
HOST: 0.0.0.0
PORT: "8848"
DATA_DIR: /app/data
DB_PATH: /app/data/study.db
# 远程访问令牌;留空 = 不校验(只在自己内网用)。改这里要同步 .env
AUTH_TOKEN: ${AUTH_TOKEN:-}
# 每个账号保留的日志行数 / 页面快照条数
RUN_LOG_KEEP: ${RUN_LOG_KEEP:-2000}
SNAPSHOT_KEEP: ${SNAPSHOT_KEEP:-200}
TZ: ${TZ:-Asia/Shanghai}
# 固定容器内 DNS 为国内公共解析,绕过宿主机 1.1.1.1/8.8.8.8 上游(国内常不可用)
dns:
- 223.5.5.5
- 119.29.29.29
volumes:
# 唯一的持久化目录:SQLite 库(study.db + -wal/-shm)都在这里
- ./data:/app/data
# Chromium 在容器里默认只有 64MB /dev/shm,跑直链视频会崩
shm_size: "1gb"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"