# LunaTV 部署指南 (WSL Ubuntu)

本文档将指导你如何在 WSL (Windows Subsystem for Linux) Ubuntu 环境下从零开始部署 LunaTV。

## 第一步：环境检查与准备

在开始之前，我们需要确保你的 Ubuntu 系统里已经安装了 Docker。

**1. 检查 Docker 是否安装**
在终端输入以下命令：
```bash
docker --version
docker compose version
```
如果能看到版本号输出，说明通过。如果提示 command not found，请执行以下操作。

**2. 安装 Docker (如果未安装)**
WSL 用户推荐直接在 Windows 上安装 **Docker Desktop**，然后在设置中开启 WSL 2 集成：
1. 下载并安装 [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop/)。
2. 打开 Docker Desktop 设置 -> Resources -> WSL Integration。
3. 勾选你的 Ubuntu 发行版开关，点击 Apply & Restart。
4. 回到 Ubuntu 终端，再次运行 `docker --version` 验证。

---

## 第二步：创建项目目录

我们需要为 LunaTV 创建一个专门的文件夹来存放配置文件。

```bash
# 创建目录
mkdir -p ~/lunatv

# 进入目录
cd ~/lunatv
```

---

## 第三步：创建配置文件

我们需要创建一个 `docker-compose.yml` 文件来定义 LunaTV 和数据库服务。虽然项目支持多种数据库，但为了数据安全和方便，推荐使用 **Kvrocks**。

**1. 创建文件**
```bash
nano docker-compose.yml
```

**2. 粘贴配置内容**
将以下内容复制并粘贴到编辑器中：

```yaml
services:
  moontv-core:
    image: ghcr.io/moontechlab/lunatv:latest
    container_name: moontv-core
    restart: on-failure
    ports:
      - '3000:3000'  # 左边的 3000 是访问端口，冲突可修改，如 '8080:3000'
    environment:
      # --- 管理员账号设置 (必填) ---
      - USERNAME=admin
      - PASSWORD=admin_password  # ⚠️ 强烈建议修改此默认密码
      
      # --- 存储配置 (推荐 Kvrocks) ---
      - NEXT_PUBLIC_STORAGE_TYPE=kvrocks
      - KVROCKS_URL=redis://moontv-kvrocks:6666
      
      # --- 可选配置 ---
      # 站点名称
      #- NEXT_PUBLIC_SITE_NAME=My LunaTV
      # 豆瓣代理 (如果海报显示不正常可尝试开启)
      #- NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE=server
      
    networks:
      - moontv-network
    depends_on:
      - moontv-kvrocks

  moontv-kvrocks:
    image: apache/kvrocks
    container_name: moontv-kvrocks
    restart: unless-stopped
    volumes:
      # 数据持久化，防止重启丢失数据
      - kvrocks-data:/var/lib/kvrocks
    networks:
      - moontv-network

networks:
  moontv-network:
    driver: bridge

volumes:
  kvrocks-data:
```

**3. 保存并退出**
*   按下 `Ctrl + O` 然后 `Enter` 保存。
*   按下 `Ctrl + X` 退出编辑器。

---

## 第四步：启动服务

配置文件准备好后，就可以拉取镜像并启动了。

```bash
# 后台启动服务
docker compose up -d
```
*首次运行需要下载镜像，请耐心等待几分钟。*

---

## 第五步：访问与使用

1.  **访问地址**：
    打开 Windows 浏览器，输入：`http://localhost:3000`
    
2.  **登录**：
    使用你在 `docker-compose.yml` 中设置的 `USERNAME` 和 `PASSWORD` 进行登录。

3.  **常用管理命令**：
    *   停止服务：`docker compose down`
    *   查看日志：`docker compose logs -f`
    *   更新项目：
        ```bash
        docker compose pull
        docker compose up -d
        ```
