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.yml 或 docker run 中配置:
DATABASE_TYPE=mysqlDATABASE_HOST、DATABASE_PORT、DATABASE_USERNAME、DATABASE_PASSWORD、DATABASE_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。
