官方项目地址:https://github.com/Decohererk/DecoTV

📖 前言

DecoTV 是一款功能强大的影视聚合管理系统。相比 MOTV,它最大的特色是支持 TVBox (CatVod) 协议输出 和极其细致的 用户/采集源权限管理。通过搭配搬瓦工 MegaBOX-PRO 的高端线路和 Cloudflare Workers 的隐私中转,我们可以打造一个既快又安全的私有影视库。


🛠️ 第一阶段:服务器基础环境搭建

在正式部署 DecoTV 之前,我们需要先在 VPS上安装 Docker 引擎。

1. 登录 VPS 并更新系统

使用终端连接您的 VPS,执行以下初始化命令:

# 更新软件包列表
apt update && apt upgrade -y

# 安装基础依赖工具
apt install curl wget git -y

2. 一键安装 Docker 引擎

直接使用官方提供的安装脚本,简单且不会出错:

# 下载并运行 Docker 安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

# 启动 Docker 并设置开机自启
systemctl start docker
systemctl enable docker

3. 安装 Docker Compose

这是管理多容器项目的必备工具:

# 下载 Docker Compose 二进制文件
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋予可执行权限
chmod +x /usr/local/bin/docker-compose

🚀 第二阶段:DecoTV 后端核心部署

1. 创建工作目录

# 建议存放在 /opt 目录下
mkdir -p /opt/decotv && cd /opt/decotv

2. 编写部署配置文件

创建 docker-compose.yml 文件:

nano docker-compose.yml

粘贴以下内容(根据实际镜像进行调整):

Kvrocks 存储(推荐)(根据官方仓库选择,可选Redis 存储(有一定的丢数据风险))

services:
  decotv-core:
    image: ghcr.io/decohererk/decotv:latest # 或使用 :v1.0.0 固定版本
    container_name: decotv-core
    restart: on-failure
    ports:
      - '3000:3000'
    environment:
      - USERNAME=admin     #站长用户名
      - PASSWORD=admin_password   #密码
      #- NEXT_PUBLIC_SITE_NAME=YKF-TV      (自定义站点)
      - NEXT_PUBLIC_STORAGE_TYPE=kvrocks
      - KVROCKS_URL=redis://decotv-kvrocks:6666
    networks:
      - decotv-network
    depends_on:
      - decotv-kvrocks
  decotv-kvrocks:
    image: apache/kvrocks
    container_name: decotv-kvrocks
    restart: unless-stopped
    volumes:
      - kvrocks-data:/var/lib/kvrocks
    networks:
      - decotv-network
networks:
  decotv-network:
    driver: bridge
volumes:
  kvrocks-data:

或使用自用配置文件:docker-compose-lKlK.yml (记得更改名称为:docker-compose.yml

3. 启动服务

docker-compose up -d

🛡️ 第三阶段:Cloudflare Worker 隐私中转(重点)

为了保护在观看敏感源的隐私,我们利用 Cloudflare Worker 进行流量脱敏。

1. 部署 Worker 脚本

  • 登录 Cloudflare,创建一个名为 aaa-tv-api 的 Worker。

  • 在“绑定”设置中,添加一个 KV 命名空间,变量名设为 KV

  • worker.js 完整代码粘贴进去并发布。(worker.js文件 点击跳转官方仓库:https://github.com/hafrey1/LunaTV-config

2. IP 模糊化逻辑说明

该脚本会自动将访问者 IP 的末位掩盖(例如 123.123.123.45 变为 123.123.123.0)。这样即便你在 Cloudflare 查看日志,也无法回溯到具体的物理位置。


⚙️ 第四阶段:系统初始化与权限分配

登录你的管理后台(例如 http://your-ip:3000),进行如下合规化设置:

1. 物理隔离资源组

  • 创建“家庭”组:仅勾选 正规影视源。

  • 创建“18禁”组:勾选敏感源。

2. 用户账号管理

  • (站长):拥有无限制权限。

  • (普通用户):将其划入“家庭”组,采集权限设为“无限制”。


🧹 第五阶段:安全增强与清理(进阶)

为了确保这台高端 VPS 的 IP 纯净,建议在 Crontab 中添加定时任务:

Bash

# 创建清理脚本
nano /root/cleanup.sh

# 粘贴以下内容
#!/bin/bash
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/lastlog
find /var/lib/docker/containers/ -name '*-json.log' -exec truncate -s 0 {} \;

# 设置权限
chmod +x /root/cleanup.sh

# 加入定时任务(每天凌晨执行)
(crontab -l 2>/dev/null; echo "0 3 * * * /root/cleanup.sh") | crontab -

📊 结语

通过以上步骤,你不仅拥有了一个极速响应的影视库,还通过 用户组权限控制Cloudflare IP 模糊化 筑牢了安全防线。