services:
    moviepilot:
        stdin_open: true  # 保持容器的标准输入打开，方便交互
        tty: true  # 分配伪终端，便于调试和交互式运行
        container_name: moviepilot-v2  # 设置容器名称为 moviepilot-v2
        hostname: moviepilot-v2  # 设置容器的主机名为 moviepilot-v2
        network_mode: host  # 使用宿主机的网络模式（与宿主机共享网络堆栈）
        ports:
            - target: 3000  # 容器内监听的端口
              published: 3000  # 将容器的端口 3000 映射到宿主机的 3000 端口
              protocol: tcp  # 使用 TCP 协议
        volumes:
            - '/volume1/media:/media'  # 挂载本地媒体库目录
            - '/volume1/CD2/CloudDrive:/cloud'  # 挂载云盘目录
            - '/volume1/docker/AppData/moviepilot-v2/config:/config'  # 持久化存储配置文件
            - '/volume1/docker/AppData/moviepilot-v2/core:/moviepilot/.cache/ms-playwright'  # 持久化缓存数据
            - '/var/run/docker.sock:/var/run/docker.sock:ro'  # 允许容器访问宿主机的 Docker socket，通常用于Docker-in-Docker
        environment:
            - 'NGINX_PORT=3000'  # 设置 Nginx 使用的端口为 3000
            - 'PORT=3001'  # 应用内部的端口号
            - 'PUID=0'  # 设置用户 ID 为 0（root 用户）
            - 'PGID=0'  # 设置组 ID 为 0（root 组）
            - 'UMASK=000'  # 设置文件权限掩码为 000，意味着创建的文件会有最大权限
            - 'TZ=Asia/Shanghai'  # 设置时区为上海
            - 'AUTH_SITE=iyuu'  # 设置认证站点名称为 iyuu，其他认证方式注意看目录进行修改
            - 'IYUU_SIGN=xxxx'  # 设置 IYUU密钥，其他认证方式注意看目录进行修改
            - 'SUPERUSER=admin'  # 设置超级管理员账户名为 admin，可自定义
            - 'API_TOKEN=自定义'  # 设置 API Token，用于身份验证
            - 'MOVIEPILOT_AUTO_UPDATE=release'  # 自动更新设置
            - 'PROXY_HOST=http://IP:端口'  # HTTP 网络代理
        restart: always  # 如果容器崩溃或停止，始终重新启动
        image: jxxghp/moviepilot-v2:latest  # 使用 jxxghp 的 moviepilot-v2 镜像
# 注意：容器将共享宿主机的网络堆栈，并且暴露的端口会与宿主机端口直接绑定。