MoonTV (LunaTV) 聚合影视 Docker 部署教程

一、系统准备与 Docker 安装

如果前面已安装 Docker,可跳过此步。

# 更新系统并安装curl
apt update && apt upgrade -y
apt install -y curl nano

# 安装 Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
systemctl start docker
systemctl enable docker

# 安装 Docker Compose
curl -L "https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

# 验证安装
docker --version
docker-compose --version

二、创建项目并配置

mkdir -p /opt/moontv
cd /opt/moontv

运行 nano docker-compose.yml 命令,然后将下面的全部配置内容粘贴进去。

⚠️ 重要提示:请务必修改配置文件中的 USERNAMEPASSWORD 为您自己的强密码!
# Docker Compose 配置文件, 版本 '3.8'
version: '3.8'
services:
  # MoonTV 主应用服务
  moontv-core:
    image: ghcr.io/moontechlab/lunatv:latest
    container_name: moontv-core
    restart: on-failure
    ports:
      - "3000:3000" # 左边是服务器端口,可改为其他未被占用的端口
    environment:
      - USERNAME=apepine # !!!请修改为您的后台用户名!!!
      - PASSWORD=1990Apepine # !!!请务必修改为您的强密码!!!
      - NEXT_PUBLIC_STORAGE_TYPE=redis
      - REDIS_URL=redis://moontv-redis:6379
    networks:
      - moontv-network
    depends_on:
      - moontv-redis

  # Redis 数据库服务
  moontv-redis:
    image: redis:alpine
    container_name: moontv-redis
    restart: unless-stopped
    networks:
      - moontv-network
    volumes:
      - "./data:/data" # 数据持久化

  # Watchtower 自动更新服务 (可选, 推荐)
  watchtower:
    image: containrrr/watchtower
    container_name: moontv-watchtower
    restart: unless-stopped
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      - "WATCHTOWER_CLEANUP=true"
      - "WATCHTOWER_POLL_INTERVAL=3600"

  # Nginx Proxy Manager - 反向代理 (可选)
  nginx-proxy-manager:
    image: 'docker.io/jc21/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./nginx-data:/data
      - ./nginx-letsencrypt:/etc/letsencrypt
    networks:
      - moontv-network

networks:
  moontv-network:
    driver: bridge

在 Nano 编辑器中粘贴完成后,按 Ctrl + X,然后按 Y,最后按 Enter 保存并退出。

三、启动项目并验证

# 在后台启动所有服务
docker-compose up -d

# 查看容器运行状态
docker-compose ps
🎉 访问您的 MoonTV!
现在,打开您的浏览器,在地址栏输入:http://你的服务器IP:3000 就可以访问了!