Omnibox 简介
OmniBox 是一个以聚合为核心的家庭影视系统,支持多源影视、网盘资源、电视源以及直播源等。相比单一播放器,它更像一个整合平台,拥有网页端与 TV 端界面,使用体验接近主流流媒体服务。另外它也支持弹幕 API 以及 TMDB API 接入,播放页面可以查看分季分集的海报、剧照、剧情概要、演员表、评分等等。不喜欢网页看的朋友,另外也能接入 TVbox、MBOX 播放器等在 PC、手机观看。
安装 Docker
1. 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 配置 Docker Yum 源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 安装 Docker
yum install -y docker-ce
4. 修改 Docker 配置文件
mkdir -p /data/docker && tee /etc/docker/daemon.json <<-'EOF'
{
"data-root": "/data/docker"
}
EOF
5. 启动 Docker
systemctl daemon-reload
systemctl enable docker --now
systemctl restart docker
6. 安装 Docker Compose
下载 Docker Compose 文件并赋予执行权限:
curl -L "https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
查看是否安装成功:
docker-compose --version
拉取 Omnibox 镜像
根据架构选择对应的镜像地址:
# x86 架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/omnibox:latest
# ARM 架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_omnibox:latest
创建数据目录
mkdir -p /data/omnibox
chmod 777 /data/omnibox
Docker 运行容器
docker run -d \
--name omnibox \
--restart always \
-e TZ=Asia/Shanghai \
-p 7023:7023 \
-v /data/omnibox/data:/app/data \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/omnibox:latest
Docker Compose 配置
编辑 docker-compose.yaml 文件:
services:
omnibox:
image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/omnibox:latest
container_name: omnibox
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- "7023:7023"
volumes:
- /data/omnibox/data:/app/data
networks:
- media-net
networks:
media-net:
driver: bridge
启动容器
cd /data/omnibox/
docker-compose up -d
docker-compose ps
查看容器日志
docker logs -f omnibox
访问服务
浏览器访问:http://<服务器 IP>:7023
配置密码登录
在管理后台设置管理员账号和密码。
配置采集站资源
点击左侧'影视站资源',点击右侧'导入/导出'下载 json 配置。
编辑 sites_export.json 文件,内容示例如下:
{
"sites": [
{
"id": "9fc5bb9a-7890-4ac9-aa7d-b77f5f88b345",
"key": "豪华资源",
"name": "豪华资源",
"api": "https://hhzyapi.com/api.php/provide/vod/",
"type": 2,
"isActive": 1,
"time": "2025-08-20T19:28:39.7276357+08:00",
"isDefault": 0,
"remark": "",
"tags": ["优秀"],
"priority": 1,
"proxyMode": "none",
"customProxy": ""
}
],
"exportTime": "2025-10-25T03:06:59.243Z",
"total": 39,
"filters": {"search": null, "tags": null, "status": null}
}
导入后点击全选,然后'批量测速',对无法链接的资源进行删除、禁用或修改采集地址。
电视直播地址
https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.m3u
Kubernetes 部署 YAML 文件
1. Deployment (部署)
保存为 omnibox-deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: omnibox
namespace: default
labels:
app: omnibox
spec:
replicas: 1
selector:
matchLabels:
app: omnibox
template:
metadata:
labels:
app: omnibox
spec:
containers:
- name: omnibox
image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/omnibox:latest
env:
- name: TZ
value: "Asia/Shanghai"
ports:
- containerPort: 7023
name: http
volumeMounts:
- mountPath: /app/data
name: omnibox-data
volumes:
- name: omnibox-data
hostPath:
path: /data/omnibox/data
type: DirectoryOrCreate
2. Service (服务)
保存为 omnibox-service.yaml:
apiVersion: v1
kind: Service
metadata:
name: omnibox-service
namespace: default
labels:
app: omnibox
spec:
selector:
app: omnibox
ports:
- name: http-api
protocol: TCP
port: 7023
targetPort: 7023
nodePort: 30223
type: NodePort
sessionAffinity: None
externalTrafficPolicy: Cluster
关键配置说明
- 容器配置:使用了提供的镜像地址,设置了时区环境变量,定义了容器端口和数据卷挂载。生产环境建议使用 PersistentVolumeClaim (PVC) 管理持久化数据。
- 服务暴露:通过 Service 暴露 Deployment 创建的 Pods。NodePort 类型允许通过集群节点端口访问服务。
如何使用
- 将上述两个 YAML 内容分别保存为文件。
- 确保
kubectl已连接到目标 K8s 集群。 - 检查部署状态:
kubectl get pods -l app=omnibox
kubectl get svc omnibox-service
- 依次执行以下命令应用配置:
kubectl apply -f omnibox-deployment.yaml
kubectl apply -f omnibox-service.yaml

