docker一键部署omnibox一站式影视、直播与资源聚合平台

该文章已生成可运行项目,

1、omnibox简介OmniBox 是一个以聚合为核心的家庭影视系统,支持多源影视、网盘资源、电视源以及直播源等等。相比单一播放器,它更像一个整合平台,拥有网页端与 TV 端界面,使用体验接近主流流媒体服务。另外它也支持弹幕API以及TMDB API接入,播放页面可以查看分季分集的海报、剧照、剧情概要、演员表、评分等等。不喜欢网页看的朋友,另外也能接入TVbox、MBOX 播放器等在PC、手机观看。
2、omnibox的核心功能omnibox将传统的浏览器地址栏和搜索引擎的功能合二为一。以下是它的一些核心本领:智能搜索与导航:你既可以直接输入网址访问网站,也可以输入搜索关键词进行网页搜索。它会根据你的输入提供智能建议,这些建议可能来自你的浏览历史、书签、热门网站或是搜索预测。实时计算与转换:omnibox 可以充当一个简易计算器,输入数学算式就能直接得到结果。同时,它也支持快速的单位换算,比如“100美元=人民币”或“1英里=公里”。快速信息查询:在 omnibox 中直接输入“天气”或“weather”,就能快速查看你所在城市的天气信息。输入“define [单词]”则可以查询英文单词的释义(通常是英英释义)。提升浏览体验:chrome 曾为 omnibox 引入预渲染功能。这意味着在你按下回车键之前,浏览器可能已经在后台加载你最可能访问的页面,从而让网页加载速度感觉“瞬间完成”。
在这里插入图片描述

3、安装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 /data/docker -p
sudo 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-composeln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看是否安装成功
docker-compose --version

4、拉取omnibox镜像

docker pull lampon/omnibox:latest
或者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

5、创建数据目录

mkdir -p /data/omnibox
chmod 777 /data/omnibox

6、docker安装omnibox

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

7、编辑docker-compose.yaml文件

vi /data/omnibox/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

8、启动omnibox容器

cd /data/omnibox/
docker-compose up -d
docker-compose ps

9、查看容器日志

docker logs -f omnibox

10、访问omnibox服务

浏览器访问: http://172.16.102.115:7023

11、配置密码登录
在这里插入图片描述
在这里插入图片描述
12、配置采集站资源
点击左侧“影视站资源”,点击右侧“导入/导出” 个地址下载json配置(https://quwenjian.cc/#/?code=O8P6N)
vi sites_export_2025-10-25.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": ""
    },
    {
      "id": "42e8be33-8671-4a86-abfa-fbf32384d8a8",
      "key": "快车资源",
      "name": "快车资源",
      "api": "https://caiji.kuaichezy.org/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T20:41:00.5268648+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "cabdc4c4-854f-4d1c-a7b6-958ea873a67d",
      "key": "影视工厂",
      "name": "影视工厂",
      "api": "https://cj.lziapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T20:23:47.7171282+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "46b14b55-308c-4c91-aedc-1e018697b60c",
      "key": "鸭鸭资源",
      "name": "鸭鸭资源",
      "api": "https://cj.yayazy.net/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T20:20:29.2651536+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "无法搜索",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "ba0fda8c-d00d-4d0e-9f35-31fa9bb524af",
      "key": "步步高资源",
      "name": "步步高资源",
      "api": "https://api.yparse.com/api/json",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T20:14:38.4006846+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "9c3bab8d-99c1-4c72-8771-cef896b3c56a",
      "key": "红牛资源",
      "name": "红牛资源",
      "api": "https://www.hongniuzy2.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:32:09.6476237+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "60813c72-e363-45b3-95e4-f3e33c10865f",
      "key": "牛牛点播",
      "name": "牛牛点播",
      "api": "https://api.niuniuzy.me/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:31:54.2027153+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "无法搜索",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "a57bbfa1-283d-4068-8b43-c32a34302e8b",
      "key": "新浪点播",
      "name": "新浪点播",
      "api": "https://api.xinlangapi.com/xinlangapi.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:31:45.2241586+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "6298b26c-085e-4bb5-9618-f8991c548b24",
      "key": "光速资源",
      "name": "光速资源",
      "api": "https://api.guangsuapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:31:33.3969745+08:00",
      "isDefault": 0,
      "remark": "搜索没用",
      "tags": [
        "无法搜索",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "226dc46d-e66e-4e3c-8597-a1c34d9e3153",
      "key": "丫丫点播",
      "name": "丫丫点播",
      "api": "https://cj.yayazy.net/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:31:21.4033182+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "无法搜索",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "903b1865-5746-44fa-b158-344fd7513d94",
      "key": "U酷资源",
      "name": "U酷资源",
      "api": "https://api.ukuapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:30:59.9835236+08:00",
      "isDefault": 0,
      "remark": "https://api.ukuapi88.com/api.php/provide/vod/",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "78142530-573f-46d8-a805-7d84baa395c5",
      "key": "CK资源",
      "name": "CK资源",
      "api": "https://ckzy.me/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:30:48.7481368+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "2cb28559-ec8d-4d83-97aa-9f4563b83fbd",
      "key": "1080资源库",
      "name": "1080资源库",
      "api": "https://api.1080zyku.com/inc/api_mac10.php/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:30:37.1155196+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "fa980b53-d5ff-4eff-a07c-89b103e4849a",
      "key": "飘零资源",
      "name": "飘零资源",
      "api": "https://p2100.net/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:30:22.9168727+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "c98e7821-32f0-4906-8632-2d8d397f1040",
      "key": "閃電资源",
      "name": "閃電资源",
      "api": "https://sdzyapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:30:11.4642611+08:00",
      "isDefault": 0,
      "remark": "https://xsd.sdzyapi.com/api.php/provide/vod/",
      "tags": [
        "无法搜索",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "84faf82b-60de-41fe-a2a8-97a7705a8b2a",
      "key": "金鹰资源",
      "name": "金鹰资源",
      "api": "https://jyzyapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:29:57.0619237+08:00",
      "isDefault": 0,
      "remark": "https://jinyingzy.com/api.php/provide/vod/",
      "tags": [
        "搜索混乱",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "81f0049f-8b0b-449d-b994-b1b5aa499a1c",
      "key": "虎牙资源",
      "name": "虎牙资源",
      "api": "https://www.huyaapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:29:31.2557659+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "搜索混乱",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "fe239604-c7f9-4e78-bf6b-2648eee1f402",
      "key": "索尼资源",
      "name": "索尼资源",
      "api": "https://suoniapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:29:19.4566658+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "无法搜索",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "28553132-27bb-4f47-8e97-d6adf0b71285",
      "key": "速播资源",
      "name": "速播资源",
      "api": "https://subocaiji.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:28:53.7913327+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "41c48251-bfd2-4ddb-a897-22198881a9c9",
      "key": "卧龙资源2",
      "name": "卧龙资源2",
      "api": "https://collect.wolongzyw.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-20T19:25:01.0401879+08:00",
      "isDefault": 0,
      "remark": "https://collect.wolongzy.cc/api.php/provide/vod/",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "9043fa7a-cb54-4949-a9e7-5ee066d1aea9",
      "key": "茅台资源",
      "name": "茅台资源",
      "api": "https://caiji.maotaizy.cc/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-15T12:40:56.3684812+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "b05cf9ce-6ce1-4b01-a9d6-de3e738485f6",
      "key": "量子资源站",
      "name": "量子资源站",
      "api": "https://cj.lziapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:46:47.3694983+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "514ed846-0f3c-4a8f-b5ce-34f52efc28f3",
      "key": "iKun资源",
      "name": "iKun资源",
      "api": "https://ikunzyapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:46:27.3235009+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "ac4e2373-fd72-4a9b-b565-97c56678de51",
      "key": "旺旺短剧",
      "name": "旺旺短剧",
      "api": "https://wwzy.tv/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:46:07.8065807+08:00",
      "isDefault": 0,
      "remark": "https://api.wwzy.tv/api.php/provide/vod/",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "8227eaf1-d797-4c70-aee6-459fc7467a83",
      "key": "无尽资源",
      "name": "无尽资源",
      "api": "https://api.wujinapi.me/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:45:43.5054611+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "81dd8a62-8173-4adb-b148-5dba3d3eeb6c",
      "key": "百度云资源",
      "name": "百度云资源",
      "api": "https://api.apibdzy.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:45:25.1519879+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "2632a81e-a88f-4978-a81a-142f1a9a662d",
      "key": "樱花资源",
      "name": "樱花资源",
      "api": "https://m3u8.apiyhzy.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:45:05.8249361+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "无法搜索",
        "差"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "10496a01-15b0-4077-9ec1-63d022b85c9c",
      "key": "最大资源",
      "name": "最大资源",
      "api": "https://api.zuidapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:44:43.6072971+08:00",
      "isDefault": 0,
      "remark": "http://zuidazy.me/api.php/provide/vod/",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "e3783463-180e-4302-a959-5f9423d26925",
      "key": "魔都资源",
      "name": "魔都资源",
      "api": "https://www.mdzyapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 1,
      "time": "2025-08-09T17:44:20.9427788+08:00",
      "isDefault": 0,
      "remark": "https://caiji.moduapi.cc/api.php/provide/vod/",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "5d419950-622b-4421-9e6f-b7692b76a621",
      "key": "魔爪资源",
      "name": "魔爪资源",
      "api": "https://mozhuazy.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:43:46.1428799+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "fd09ed9b-a01e-4a77-b8be-110033d2357d",
      "key": "豆瓣资源",
      "name": "豆瓣资源",
      "api": "https://dbzy.tv/api.php/provide/vod/",
      "type": 2,
      "isActive": 1,
      "time": "2025-08-09T17:43:19.25306+08:00",
      "isDefault": 0,
      "remark": "https://caiji.dbzy.tv/api.php/provide/vod/",
      "tags": [
        "优秀",
        "广告"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "30b671b5-2350-4248-8db6-0148e04ebf03",
      "key": "卧龙资源",
      "name": "卧龙资源",
      "api": "https://wolongzyw.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:42:32.8786954+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "8895dfb9-2437-47d7-aa40-85ec9f0aaeee",
      "key": "360资源",
      "name": "360资源",
      "api": "https://360zy.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:41:44.7307216+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "c9cee5ac-943e-4289-84f6-4f4d1117583b",
      "key": "天涯资源",
      "name": "天涯资源",
      "api": "https://tyyszy.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:40:51.9082002+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "4aa83ed0-bce5-4d86-ae48-3524bf7fc907",
      "key": "暴风资源",
      "name": "暴风资源",
      "api": "https://bfzyapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-09T17:40:23.5352433+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "544141d9-fe7a-454b-b03f-534361d5b85b",
      "key": "电影天堂资源",
      "name": "电影天堂资源",
      "api": "https://caiji.dyttzyapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 1,
      "time": "2025-08-09T17:39:58.5822762+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "builtin",
      "customProxy": ""
    },
    {
      "id": "c042b27b-99bd-499b-b8e6-e8cd092ed9bf",
      "key": "如意资源",
      "name": "如意资源",
      "api": "http://cj.rycjapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-08T23:43:41.208591+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "8f871502-8ccb-4435-8fb1-06c742874340",
      "key": "极速资源",
      "name": "极速资源",
      "api": "https://jszyapi.com/api.php/provide/vod/",
      "type": 2,
      "isActive": 0,
      "time": "2025-08-08T23:42:50.8818559+08:00",
      "isDefault": 0,
      "remark": "",
      "tags": [
        "代理"
      ],
      "priority": 0,
      "proxyMode": "none",
      "customProxy": ""
    },
    {
      "id": "9fe61825-ed0f-4965-9d30-57fb2d147aea",
      "key": "非凡影视",
      "name": "非凡影视",
      "api": "http://ffzy5.tv/api.php/provide/vod/",
      "type": 2,
      "isActive": 1,
      "time": "2025-08-08T23:02:01.8733113+08:00",
      "isDefault": 0,
      "remark": "https://api.ffzyapi.com/api.php/provide/vod/",
      "tags": [
        "优秀"
      ],
      "priority": 0,
      "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文件

你需要创建以下两个YAML文件来实现在K8s中的部署。

1. Deployment (部署) - omnibox-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: omnibox
  namespace: default # 你可以根据需要修改命名空间
  labels:
    app: omnibox
spec:
  replicas: 1 # 默认副本数为1,对应docker run的一个容器
  selector:
    matchLabels:
      app: omnibox
  template:
    metadata:
      labels:
        app: omnibox
    spec:
      containers:
      - name: omnibox
        # 使用你提供的镜像
        image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/omnibox:latest
        # 对应 docker run 的 --restart always (在K8s中由Pod重启策略和控制器管理)
        # 对应 -e TZ=Asia/Shanghai 设置环境变量
        env:
        - name: TZ
          value: "Asia/Shanghai"
        ports:
        # 对应 -p 7023:7023,这里定义容器端口
        - containerPort: 7023
          name: http
        # 对应 -v /data/omnibox/data:/app/data 的挂载卷
        volumeMounts:
        - mountPath: /app/data
          name: omnibox-data
        # 资源限制(推荐在生产环境中设置)
        # resources:
        #   requests:
        #     memory: "64Mi"
        #     cpu: "250m"
        #   limits:
        #     memory: "128Mi"
        #     cpu: "500m"
      volumes:
      # 定义持久化存储卷
      - name: omnibox-data
        hostPath:
          # 对应主机的 /data/omnibox/data 路径
          path: /data/omnibox/data
          type: DirectoryOrCreate # 如果目录不存在则创建
        # 在生产环境中,更推荐使用 persistentVolumeClaim

2. Service (服务) - omnibox-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: omnibox-service
  namespace: default
  labels:
    app: omnibox
spec:
  # 选择器必须与Deployment中的标签匹配
  selector:
    app: omnibox
  ports:
    - name: http-api
      protocol: TCP
      port: 7023
      targetPort: 7023
      nodePort: 30223  # 你可以修改这个端口,确保在30000-32767范围内且未被占用
  # 使用NodePort类型,可以通过任意集群节点的此端口访问服务
  type: NodePort
  sessionAffinity: None
  externalTrafficPolicy: Cluster

关键配置说明

  1. 容器配置 (Deployment):

    • image: 直接使用了你提供的镜像地址。
    • env: 通过 env 字段设置了 TZ=Asia/Shanghai 环境变量。
    • ports: 定义了容器监听的端口 7023
    • volumeMountsvolumes: 实现了数据卷挂载。这里使用了 hostPath 类型,直接对应 Docker 命令中的主机路径 /data/omnibox/data请注意:在多节点集群中,Pod可能会被调度到任意节点,如果该节点上没有 /data/omnibox/data 路径或数据,可能会导致数据不一致。对于生产环境,建议使用 PersistentVolumeClaim (PVC) 来管理持久化数据。
  2. 服务暴露 (Service):

    • 定义了一个 Service 来暴露 Deployment 创建的 Pods。selector 确保服务将流量路由到带有 app: omnibox 标签的 Pod。
    • type: ClusterIP 使得该服务只能在集群内部通过 7023 端口访问。如果你想从集群外部访问(就像 docker run -p 7023:7023 将宿主机端口映射出来一样),可以将 type 改为 NodePortLoadBalancer

如何使用

  1. 将上面的两个YAML内容分别保存为文件(例如 omnibox-deployment.yamlomnibox-service.yaml)。
  2. 确保你的 kubectl 已连接到目标K8s集群。
  3. 在保存文件的目录下,依次执行以下命令:
    kubectl apply -f omnibox-deployment.yaml
    kubectl apply -f omnibox-service.yaml
    
  4. 检查部署状态:
    kubectl get pods -l app=omnibox
    kubectl get svc omnibox-service
    
    在这里插入图片描述
本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

❀͜͡傀儡师

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值