Skip to content

Docker 部署

OmniBox 通过 Docker 部署,镜像包含 Node + Python + Chromium,支持 JS/Python 爬虫与视频嗅探 SDK。

构建与运行

bash
# 构建
docker compose build

# 后台运行(端口 7123 -> 7023)
docker compose up -d

# 查看日志
docker compose logs -f

访问:http://localhost:7123(端口以实际映射为准)。

使用预构建镜像(若已发布)

bash
docker run -d \
  --name omnibox \
  --restart unless-stopped \
  -p 7023:7023 \
  -v omnibox-data:/app/data \
  lampon/omnibox:latest

环境变量示例

bash
docker run -d \
  --name omnibox \
  -p 7023:7023 \
  -e SERVER_PORT=7023 \
  -e DATABASE_TYPE=sqlite \
  -e DATABASE_URL=./data/data.sqlite \
  -v omnibox-data:/app/data \
  lampon/omnibox:latest

使用 MySQL

docker-compose.ymldocker run 中配置:

  • DATABASE_TYPE=mysql
  • DATABASE_HOSTDATABASE_PORTDATABASE_USERNAMEDATABASE_PASSWORDDATABASE_DATABASE

视频嗅探说明

镜像内已安装 Python、Playwright 与 Chromium,爬虫脚本可调用 OmniBox.sniffVideo(url, headers) 做播放页嗅探。建议在 docker-compose.yml 中为服务增加 ipc: host,以减少 Chromium 内存问题。


数据持久化

Docker 卷

bash
docker run -d \
  --name omnibox \
  -p 7023:7023 \
  -v omnibox-data:/app/data \
  lampon/omnibox:latest

主机目录

bash
docker run -d \
  --name omnibox \
  -p 7023:7023 \
  -v /path/to/data:/app/data \
  lampon/omnibox:latest

自定义构建

bash
git clone https://github.com/Lampon/OmniBox.git
cd OmniBox
docker build -t omnibox:latest -f Dockerfile .
docker run -d --name omnibox -p 7023:7023 -v omnibox-data:/app/data omnibox:latest

多架构构建

bash
docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t lampon/omnibox:latest \
  -f Dockerfile \
  --push .

故障排除

容器无法启动

查看日志:

bash
docker compose logs omnibox
# 或
docker logs omnibox

常见原因:端口占用、环境变量错误、数据目录权限。

数据备份与恢复

备份

bash
docker run --rm \
  -v omnibox-data:/data \
  -v $(pwd):/backup \
  alpine tar czf /backup/omnibox-backup.tar.gz -C /data .

恢复

bash
docker run --rm \
  -v omnibox-data:/data \
  -v $(pwd):/backup \
  alpine sh -c "cd /data && tar xzf /backup/omnibox-backup.tar.gz"

资源限制

bash
docker run -d \
  --name omnibox \
  -p 7023:7023 \
  --memory="512m" \
  --cpus="1.0" \
  -v omnibox-data:/app/data \
  lampon/omnibox:latest

生产建议

  • 使用 Docker Compose 管理服务,便于维护。
  • 使用 Nginx / Traefik 等反向代理,并配置 HTTPS(如 Let's Encrypt)。
  • 若使用视频嗅探,在 Compose 中为服务配置 ipc: host

相关链接

基于 MIT 许可发布