### Install Docker and Docker Compose Plugin Source: https://smartstrm.github.io/tutorials/emby-clouddrive-smooth-playback Installs Docker and the Docker Compose plugin on Ubuntu systems. Enables and starts the Docker service, then verifies the installation. ```bash sudo apt update sudo apt install -y docker.io docker-compose-plugin sudo systemctl enable --now docker docker version docker compose version ``` -------------------------------- ### Install DPanel Script Source: https://smartstrm.github.io/tutorials/emby-openlist-sync-delete-zero-cost Run this command to install the DPanel management tool, which simplifies the setup process for various services. ```bash curl -sSL https://dpanel.cc/quick.sh -o quick.sh && bash quick.sh ``` -------------------------------- ### Install Emby Server Source: https://smartstrm.github.io/tutorials/emby-clouddrive-smooth-playback Installs the Emby server package using dpkg. Ensure you download the correct .deb file for your system architecture. ```bash dpkg -i emby-server-deb_4.9.3.0_amd64.deb # 版本号为 4.9.3.0 时的例子 ``` -------------------------------- ### Check System and User Source: https://smartstrm.github.io/tutorials/emby-clouddrive-smooth-playback Verifies the operating system version and the current user. These commands are part of the initial environment setup for SmartStrm. ```bash lsb_release -a whoami ``` -------------------------------- ### Start and Monitor SmartStrm Container Source: https://smartstrm.github.io/tutorials/emby-clouddrive-smooth-playback Starts the SmartStrm container in detached mode using Docker Compose, lists running containers, and displays the last 80 lines of the container logs. ```bash cd /opt/media-stack/smartstrm docker compose up -d docker ps docker logs -n 80 smartstrm ``` -------------------------------- ### Quark-Auto-Save Webhook Setup Source: https://smartstrm.github.io/settings/webhook Set up Quark-Auto-Save to notify SmartStrm upon resource auto-saving. Specify the SmartStrm webhook URL and associated task names. ```ini webhook: http://your_smartstrm_webhook_url strmtask: tv,movie ``` -------------------------------- ### Create SmartStrm Directory Structure Source: https://smartstrm.github.io/tutorials/emby-clouddrive-smooth-playback Sets up the recommended directory structure for SmartStrm configuration, logs, and .strm file storage. It also sets ownership to the current user. ```bash sudo mkdir -p /opt/media-stack/smartstrm/{config,logs,strm} sudo chown -R $USER:$USER /opt/media-stack ``` -------------------------------- ### Configure Emby Media Library Source: https://smartstrm.github.io/tutorials/emby-openlist-sync-delete-zero-cost Set up a new media library in Emby, pointing to the directory where SmartStrm generates the .strm files. This allows Emby to scan and manage the media. ```text 类型:选择 `电影` 或 `电视` 文件夹路径:选择容器内路径,例如 `/strm/网盘动漫` ``` -------------------------------- ### Emby Webhook Notification Setup Source: https://smartstrm.github.io/tutorials/emby-openlist-sync-delete-zero-cost Configure Emby to send Webhook notifications to SmartStrm for linked deletion. This involves copying the SmartStrm Webhook URL and pasting it into Emby's notification settings. ```text 1. 复制系统设置里面 Webhook 地址 2. 打开 Emby 删除同步设置 3. 粘贴到 emby 的通知里面 ``` -------------------------------- ### Configure Emby Media Library Source: https://smartstrm.github.io/tutorials/deploy-emby-cloudsaver-qas-integration Add a new media library in Emby, pointing to the STRM directory generated by SmartStrm (e.g., '/strm/task_name'). Ensure the path is correct within the Emby container and scan the library to fetch metadata. ```text Emby 后台 → 媒体库 → 添加 类型(电影/电视剧/音乐) 文件夹路径:容器内 /strm/任务名 保存并扫描刮削 ``` -------------------------------- ### Docker 单容器部署 SmartStrm Source: https://smartstrm.github.io/tutorials/oneclick-strm-cloud-to-media-lib 使用 Docker 一键启动 SmartStrm 服务。请将 admin123 替换为你的强密码,并根据需要调整端口和挂载目录。 ```bash docker run -d \ --name smartstrm \ --restart unless-stopped \ --network host \ -v $(pwd)/smartstrm/config:/app/config \ -v $(pwd)/smartstrm/logs:/app/logs \ -v $(pwd)/smartstrm/strm:/strm \ -e PORT=8024 \ -e ADMIN_USERNAME=admin \ -e ADMIN_PASSWORD=admin123 \ -e LICENSE= \ cp0204/smartstrm:latest ``` -------------------------------- ### STRM File Content Examples Source: https://smartstrm.github.io/guide/what-is STRM files are plain text files containing a URL or a file path to a media stream. They are used by media servers like Emby to play network streams as if they were local files. Ensure the URL or path is correctly formatted for the stream type. ```text http://host/path/stream ``` ```text mms://host/path/stream ``` ```text rtsp://host/path/stream ``` ```text F:/Movies/Topgun (1986)/Topgun.mp4 ``` ```text \\EMBYSERVER\Movies\Topgun (1986)\Topgun.mp4 ``` -------------------------------- ### Deploy SmartStrm with Docker Run Source: https://smartstrm.github.io/guide/deploy Alternatively, deploy SmartStrm using the docker run command. Remember to adjust the volume paths and environment variables as needed. ```bash docker run -d \ --name smartstrm \ --restart unless-stopped \ --network host \ -v /yourpath/smartstrm/config:/app/config \ -v /yourpath/smartstrm/strm:/strm \ -v /yourpath/smartstrm/tools:/app/tools \ -v /yourpath/smartstrm/logs:/app/logs \ # 以上 /yourpath 改为你实际存放配置的路径 -e PORT=8024 \ -e ADMIN_USERNAME=admin \ -e ADMIN_PASSWORD=admin123 \ cp0204/smartstrm:latest ``` -------------------------------- ### Check Nginx Configuration and Reload Source: https://smartstrm.github.io/tutorials/emby-clouddrive-smooth-playback Tests the Nginx configuration file for syntax errors and then reloads the Nginx service to apply any changes. ```bash nginx -t systemctl reload nginx ``` -------------------------------- ### SmartStrm Sync Task Configuration Source: https://smartstrm.github.io/tutorials/emby-quark-302-direct-link Set up a synchronization task in SmartStrm to scan Quark Drive folders and generate .strm files. Configure the source storage, path, and schedule for automatic or manual synchronization. ```configuration Storage: Quark Drive Path: /Your/Quark/Drive/Folder Schedule: 0 0 * * * (Daily at 00:00) or manual run ``` -------------------------------- ### Configure SmartStrm STRM Rules Source: https://smartstrm.github.io/tutorials/deploy-emby-cloudsaver-qas-integration Configure the STRM settings in SmartStrm. Define media suffixes, minimum file size for STRM generation, and files to copy alongside STRM. Ensure URL encoding for STRM is enabled and set the SmartStrm address correctly. ```text 系统设置 → STRM 设置 媒体后缀:mp4,mkv,mov,avi 大小阈值:>= 20 MB 复制到本地:nfo,ass,srt,jpg,png 生成根目录:/strm 勾选"对 STRM 进行 URL 编码" SmartStrm 地址:http://宿主机IP:8024 ``` -------------------------------- ### Deploy SmartStrm with Docker Compose Source: https://smartstrm.github.io/guide/deploy Use this docker-compose.yaml file to deploy SmartStrm. Ensure you modify the volume paths to your desired locations. ```yaml name: smartstrm services: smartstrm: image: cp0204/smartstrm:latest container_name: smartstrm restart: unless-stopped network_mode: host volumes: - /yourpath/smartstrm/config:/app/config # 挂载配置目录 - /yourpath/smartstrm/strm:/strm # 挂载 STRM 生成目录 - /yourpath/smartstrm/logs:/app/logs # 挂载日志目录,可选 - /yourpath/smartstrm/tools:/app/tools # 挂载工具目录,可选 # 以上 /yourpath 改为你实际存放配置的路径 environment: - PORT=8024 # 管理端口,可选 - ADMIN_USERNAME=admin # 管理用户名 - ADMIN_PASSWORD=admin123 # 管理用户密码 ``` -------------------------------- ### Configure UFW Firewall Rules Source: https://smartstrm.github.io/tutorials/emby-clouddrive-smooth-playback Sets up Uncomplicated Firewall (UFW) rules to enable SSH (22), HTTPS (443), and SmartStrm (8024) access, while denying direct access to Emby's default ports (8096, 8097). ```bash ufw enable ufw allow 22 ufw allow 443 ufw allow 8024 ufw deny 8096 ufw deny 8097 ``` -------------------------------- ### 配置 SmartStrm 的基础地址 Source: https://smartstrm.github.io/tutorials/fnos-strm-tutorial-external-access 在 SmartStrm 的系统设置中,修改 strm 文件的基础地址为您的专属域名。请确保域名末尾没有斜杠。 ```text (节点小宝专属域名)结尾不能有斜杠 /** ``` -------------------------------- ### Deploy Emby Docker Container with SmartStrm Volume Mapping Source: https://smartstrm.github.io/tutorials/deploy-emby-cloudsaver-qas-integration Configure and deploy the Emby Docker container. Crucially, map the SmartStrm 'strm' volume to the Emby container's '/strm' directory to allow Emby to access generated STRM files. Set timezone and user/group IDs as needed. ```yaml services: emby: image: amilys/embyserver:latest container_name: emby restart: always ports: - "8096:8096" volumes: - /vol1/1000/docker/emby/config:/config - /vol1/1000/docker/SmartStrm/strm:/strm environment: - TZ=Asia/Shanghai - UID=0 - GID=0 - GIDLIST=0 devices: - /dev/dri:/dev/dri ``` -------------------------------- ### Docker Compose 部署 SmartStrm Source: https://smartstrm.github.io/tutorials/oneclick-strm-cloud-to-media-lib 使用 Docker Compose 文件来部署 SmartStrm 服务。请确保 `ADMIN_PASSWORD` 设置为强密码,并根据需要配置 `LICENSE`。 ```yaml name: smartstrm services: smartstrm: image: cp0204/smartstrm:latest container_name: smartstrm restart: unless-stopped network_mode: host volumes: - ./config:/app/config # 挂载配置目录 - ./logs:/app/logs # 挂载日志目录,可选 - ./strm:/strm # 挂载 STRM 生成目录 environment: - PORT=8024 # 管理端口,可选 - ADMIN_USERNAME=admin # 管理用户名 - ADMIN_PASSWORD=admin123 # 管理用户密码 - LICENSE= # 许可证字符串(如有) ``` -------------------------------- ### 检查生成的 strm 文件 Source: https://smartstrm.github.io/tutorials/fnos-strm-tutorial-external-access 手动执行任务后,检查指定目录下的 strm 文件。打开任意一个 strm 文件,确认其前缀是否为配置的节点小宝专属域名。 ```text 此时我们去目录,就能看到生成的 strm 文件了。 并且可以打开一个 strm 看一下,里面的前缀是不是节点小宝的专属域名,是的话就没问题了。 ``` -------------------------------- ### Deploy Emby Media Server with Docker Compose Source: https://smartstrm.github.io/tutorials/openlist-ugreen-cloud-avoid-risk-control This Docker Compose configuration deploys the Emby media server. It maps the local STRM directory and configures necessary ports and devices for hardware acceleration. ```yaml services: emby: image: amilys/embyserver:latest container_name: emby restart: always ports: - "8096:8096" volumes: - ./config:/config - /volume3/Docker/SmartStrm/strm:/strm #这个是你的strm的刮削地址 environment: - TZ=Asia/Shanghai - UID=0 - GID=0 - GIDLIST=0 devices: - /dev/dri:/dev/dri ``` -------------------------------- ### 创建 strm 生成任务 Source: https://smartstrm.github.io/tutorials/fnos-strm-tutorial-external-access 设置 strm 生成任务,包括任务名称、使用的储存、扫描路径以及执行时间。保存后可手动执行一次以生成 strm 文件。 ```text 任务名称:随意(今后生成 strm 的文件夹) 使用储存:上面第 5 步骤创建的(自己按照自己设置的名字选) 扫描路径:就是夸克里面影视的储存目录(单击就可以选择) 执行时间:定期对目录进行扫描,并生成 strm ``` -------------------------------- ### Docker Compose for smartstrm Deployment Source: https://smartstrm.github.io/tutorials/deploy-to-play-ugreen-demo Configuration for deploying smartstrm as a Docker container. Ensure the specified volumes are created beforehand. The authorization code can be filled in later via the Web UI. ```yaml services: smartstrm: image: cp0204/smartstrm:latest container_name: smartstrm restart: unless-stopped network_mode: host volumes: - /volume1/docker/smartstrm/config:/app/config # Mount config directory - /volume1/docker/smartstrm/logs:/app/logs # Mount logs directory, optional - /volume1/strm:/strm # Mount STRM generation directory environment: - PORT=8024 - ADMIN_USERNAME=admin # Admin username - ADMIN_PASSWORD=admin123 # Admin user password - LICENSE= # License string (if any) ``` -------------------------------- ### 访问 SmartStrm 登录页面 Source: https://smartstrm.github.io/tutorials/fnos-strm-tutorial-external-access 使用浏览器访问此 URL 来登录 SmartStrm 应用。请将 `ip` 替换为您的 SmartStrm 实例的实际 IP 地址。 ```text http://ip:8024 ``` -------------------------------- ### Docker Compose for SmartStrm and Emby Source: https://smartstrm.github.io/tutorials/emby-openlist-sync-delete-zero-cost This Docker Compose configuration sets up both the SmartStrm and Emby services, including essential volume mappings for configuration, logs, and media storage. ```yaml version: "3" services: smartstrm: image: cp0204/smartstrm:latest container_name: smartstrm restart: unless-stopped network_mode: host volumes: - ./smartstrm/config:/app/config - ./smartstrm/logs:/app/logs - ./smartstrm/strm:/strm environment: - PORT=8024 - ADMIN_USERNAME=admin - ADMIN_PASSWORD=admin123 - LICENSE= # 购买 Pro 后填密钥 emby: image: emby/embyserver:latest container_name: emby restart: unless-stopped ports: - "8096:8096" volumes: - ./emby/config:/config - ./emby/cache:/cache - ./smartstrm/strm:/strm # 关键映射 ``` -------------------------------- ### Docker Deployment for SmartStrm Source: https://smartstrm.github.io/tutorials/emby-quark-302-direct-link Deploy SmartStrm using Docker. Ensure correct port mapping and volume mounting for persistent storage and STRM file access. Environment variables are used for account credentials and Pro version keys. ```docker docker run -d \ --name=SmartStrm \ -p 8024:8024 \ -p 8097:8097 \ -v /vol1/1000/sata/SmartStrm:/SmartStrm/strm \ -e "TZ=Asia/Shanghai" \ -e "PUID=1000" \ -e "PGID=1000" \ -e "LICENSE=YOUR_PRO_KEY" \ Cp0204/SmartStrm:latest ``` -------------------------------- ### Emby Media Library Configuration Source: https://smartstrm.github.io/tutorials/emby-quark-302-direct-link Configure Emby to recognize the mounted STRM directory. This allows Emby to scan and manage media files linked via .strm files generated by SmartStrm. ```emby Add a new media library in Emby, selecting 'Movies' or 'TV Shows' as the type. Set the folder path to the container's perspective, e.g., /strm/Movies. ``` -------------------------------- ### Add OpenList Storage to SmartStrm Source: https://smartstrm.github.io/tutorials/emby-openlist-sync-delete-zero-cost Configure SmartStrm to access storage via OpenList (or alist). Provide the OpenList backend address and a valid API token obtained from the OpenList management interface. ```text 驱动:选择 OpenList / alist 地址:填你的 OpenList 后台地址 Token:可在 OpenList 管理后台-设置-其他-令牌获取 ``` -------------------------------- ### MoviePilot Webhook Settings Source: https://smartstrm.github.io/settings/webhook Configure MoviePilot's Webhook plugin to send POST requests to SmartStrm upon completion of movie organization. This is useful for synchronizing local and remote media servers. ```ini 请求方式:POST webhook地址:SmartStrm Webhook 地址 ``` -------------------------------- ### Create SmartStrm Synchronization Task Source: https://smartstrm.github.io/tutorials/deploy-emby-cloudsaver-qas-integration Create a synchronization task in SmartStrm to specify which folders from your Quark Cloud Drive should be processed and have STRM files generated. Set a schedule for automatic synchronization or run it manually. ```text 任务管理 → +添加任务 存储:选择 quark 路径:选择需要同步的文件夹(如 /来自:分享/电影、/来自:分享/电视剧 等) 定时:0 0 * * *(每天 00:00),或手动"运行" ``` -------------------------------- ### 配置夸克网盘储存 Source: https://smartstrm.github.io/tutorials/fnos-strm-tutorial-external-access 在 SmartStrm 的储存管理中添加夸克网盘。需要填写储存名称、选择驱动为夸克网盘,并提供完整的夸克网盘 Cookie。 ```text 储存名称 驱动选择夸克网盘 填入夸克的 cookie ``` -------------------------------- ### SmartStrm Docker Compose Configuration Source: https://smartstrm.github.io/tutorials/qas-auto-update-smooth-experience Set up Smartstrm using Docker Compose. This configuration includes persistent storage for configuration and logs, and a path for generated strm files. The network mode is set to host for direct network access. ```yaml name: smartstrm services: smartstrm: image: cp0204/smartstrm:latest container_name: smartstrm restart: unless-stopped network_mode: host volumes: - ./config:/app/config - ./logs:/app/logs - ./strm:/strm # 生成 strm 文件的存储路径 environment: - PORT=8024 # 管理端口,可自行更改 - ADMIN_USERNAME=admin # 管理用户名 - ADMIN_PASSWORD=password # 管理用户密码 - LICENSE= # Pro 版本授权码 ``` -------------------------------- ### Deploy SmartStrm Docker Container Source: https://smartstrm.github.io/tutorials/deploy-emby-cloudsaver-qas-integration Configure and deploy the SmartStrm Docker container using Docker Compose. Ensure network mode is set to 'host' and map necessary volumes for configuration, logs, and STRM files. Customize admin credentials and the service port. ```yaml name: smartstrm services: smartstrm: image: cp0204/smartstrm:latest container_name: smartstrm restart: always network_mode: host volumes: - ./config:/app/config - ./logs:/app/logs - ./strm:/strm environment: - PORT=8024 - ADMIN_USERNAME=自定义账号 - ADMIN_PASSWORD=自定义密码 # - LICENSE= ``` -------------------------------- ### Add Quark Storage to SmartStrm Source: https://smartstrm.github.io/tutorials/emby-openlist-sync-delete-zero-cost Configure SmartStrm to access Quark cloud storage. This requires providing the correct driver and a valid Cookie obtained from a logged-in Quark session. ```text 驱动:选择 夸克 Cookie:登录夸克网盘后,按 F12 打开开发者工具,找到并复制完整的 Cookie 字段内容 ``` -------------------------------- ### Emby Plugin Configuration for Quark-Auto-Save Source: https://smartstrm.github.io/tutorials/deploy-emby-cloudsaver-qas-integration Configure the Emby plugin for Quark-Auto-Save. Enter your Emby server's URL and provide your Emby API Token for authentication. This allows Quark-Auto-Save to interact with Emby for media library updates. ```text url:http://192.168.x.x:8096 token:88e7b11df00c47bd91... ```