安装部署
OmniBox 仅通过 Docker 提供安装与部署,镜像托管在 Docker Hub。
前置要求
- Docker(推荐同时安装 Docker Compose)
选择镜像版本
可从 Docker Hub 拉取两个版本,按需选择:
| 镜像 | 标签 | 说明 |
|---|---|---|
| 完整版 | lampon/omnibox:latest | 含 Node + Python + Playwright + Chromium headless + ffmpeg,支持 JS / Python 爬虫、视频嗅探(OmniBox.sniffVideo)、ffprobe 时长探测。体积较大,功能完整。 |
| 精简版 | lampon/omnibox:lite | 仅 Node 运行时,仅支持 JS 爬虫,无 Python、无 Chromium、无 ffmpeg,嗅探与时长探测不可用。体积更小,适合只使用 JS 爬虫源的场景。 |
- 需要 Python 爬虫 或 视频嗅探:请使用 完整版
lampon/omnibox:latest。 - 仅使用 JS 爬虫、希望占用更小:可使用 精简版
lampon/omnibox:lite。
快速开始(推荐:使用预构建镜像)
完整版
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 \
--restart unless-stopped \
-p 7023:7023 \
-v omnibox-data:/app/data \
lampon/omnibox:lite默认端口映射 7023:7023,访问 http://localhost:7023。
环境变量与数据库选择
通过环境变量可以自定义服务端口、数据库等。数据库支持三种类型,默认使用 SQLite,无需额外安装;若需要 MySQL 或 PostgreSQL,在启动容器时传入对应环境变量即可。
数据库类型
| 类型 | 说明 | 默认 |
|---|---|---|
| SQLite | 单文件数据库,零配置,适合个人或小规模使用 | ✅ 默认 |
| MySQL | 需自建 MySQL 服务,适合多实例或已有 MySQL 的环境 | — |
| PostgreSQL | 需自建 PostgreSQL 服务,适合多实例或已有 PG 的环境 | — |
未配置时使用 SQLite,数据文件存放在挂载的 /app/data 目录下(如 ./data/data.sqlite)。
常用环境变量
| 变量名 | 说明 | 示例 |
|---|---|---|
SERVER_PORT | 服务监听端口(需与 -p 映射一致) | 7023 |
DATABASE_TYPE | 数据库类型:sqlite、mysql、postgres | sqlite |
DATABASE_URL | SQLite 时使用,数据库文件路径 | ./data/data.sqlite |
DATABASE_HOST | MySQL/PostgreSQL 时使用,数据库主机 | localhost 或容器名 |
DATABASE_PORT | MySQL/PostgreSQL 端口(MySQL 常用 3306,PG 常用 5432) | 3306 / 5432 |
DATABASE_USERNAME | 数据库用户名 | root |
DATABASE_PASSWORD | 数据库密码 | — |
DATABASE_DATABASE | 数据库名(MySQL/PostgreSQL) | omnibox |
使用 SQLite(默认)
不传数据库相关环境变量时即为 SQLite,只需保证数据目录挂载即可:
bash
docker run -d --name omnibox -p 7023:7023 -v omnibox-data:/app/data lampon/omnibox:latest使用 MySQL
bash
docker run -d \
--name omnibox \
-p 7023:7023 \
-v omnibox-data:/app/data \
-e DATABASE_TYPE=mysql \
-e DATABASE_HOST=你的MySQL地址 \
-e DATABASE_PORT=3306 \
-e DATABASE_USERNAME=root \
-e DATABASE_PASSWORD=你的密码 \
-e DATABASE_DATABASE=omnibox \
lampon/omnibox:latest需先在 MySQL 中创建好数据库(如 CREATE DATABASE omnibox;),OmniBox 启动时会自动建表。
使用 PostgreSQL
bash
docker run -d \
--name omnibox \
-p 7023:7023 \
-v omnibox-data:/app/data \
-e DATABASE_TYPE=postgres \
-e DATABASE_HOST=你的PostgreSQL地址 \
-e DATABASE_PORT=5432 \
-e DATABASE_USERNAME=postgres \
-e DATABASE_PASSWORD=你的密码 \
-e DATABASE_DATABASE=omnibox \
lampon/omnibox:latest需先在 PostgreSQL 中创建好数据库,OmniBox 启动时会自动建表。
更多环境变量(日志、弹幕、TMDB 等)可参考 Docker 部署 - 环境变量。
数据持久化
数据写入卷或主机目录,可按需修改挂载:
- 使用卷(示例):
-v omnibox-data:/app/data - 使用主机目录:
-v /path/on/host:/app/data
详见 Docker 部署。
下一步
- Docker 部署 — 环境变量、数据持久化与故障排除
