Complete Configuration Guide for Setting up Emby on FNOS System
Complete Configuration Guide for Setting up Emby on FNOS System System Environment Hardware: PVE Virtual Machine System: FNOS (Debian-based) Network: PVE VM, gateway is Mac Mini (192.168.71.100) FNOS IP: 192.168.71.9 FNOS Management Port: 5666 Objectives Install Emby Server via Docker Mount cloud storage (115 Cloud, Baidu Cloud, etc.) via CloudDrive2 Emby reads content from cloud storage Enable remote access via FRP MetaTube Plugin: Provide complete metadata scraping for adult content Part 1: Basic Environment Setup 1.1 SSH Login and Root Access # SSH login to FNOS ssh username@192.168.71.9 # Get root privileges sudo -i 1.2 Create Directory Structure # Create the following directory structure in file manager: /vol1/1000/ ├── Docker/ │ ├── emby/ │ │ ├── config/ │ │ └── metadata/ │ └── clouddrive2/ │ └── config/ ├── CloudNAS/ # For mounting cloud storage └── Media/ └── Videos/ # Local videos (optional) Part 2: Configure Docker Mount Sharing 2.1 Set Docker Mount to Shared Mode # Create Docker service configuration directory sudo mkdir -p /etc/systemd/system/docker.service.d/ # Create mount sharing configuration sudo cat <<EOF > /etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf [Service] MountFlags=shared EOF # Restart Docker service sudo systemctl restart docker.service Part 3: Install CloudDrive2 3.1 Install CloudDrive2 via Command Line # Remove any existing CloudDrive2 containers (if any) docker stop clouddrive2 2>/dev/null || true docker rm clouddrive2 2>/dev/null || true # Create CloudDrive2 container docker run -d \ --name clouddrive2 \ --restart=unless-stopped \ --env CLOUDDRIVE_HOME=/Config \ -v /vol1/1000/CloudNAS:/CloudNAS:shared \ -v /vol1/1000/Docker/clouddrive2/config:/Config \ --network host \ --pid host \ --privileged \ --device /dev/fuse:/dev/fuse \ cloudnas/clouddrive2 3.2 Configure Cloud Storage Mounting Access CloudDrive2 management interface: http://192.168.71.9:19798 Login to your CloudDrive2 account (requires lifetime membership) Add mount point: Name: 115 (or other cloud storage name) Mount Point: Select CloudNAS directory Auto-mount on startup: Check User ID: 0 Group ID: 0 Permissions: 0755 3.3 Verify Mount # Check mount status ls -la /vol1/1000/CloudNAS/ # Should see cloud storage folders, like: 115, baidu, etc. Part 4: Install Emby Server 4.1 Install Emby via Command Line # Remove any existing Emby containers (if any) docker stop emby 2>/dev/null || true docker rm emby 2>/dev/null || true # Create Emby container docker run -d \ --name emby \ -p 8096:8096 \ -p 8920:8920 \ -e TZ=Asia/Shanghai \ -e UID=0 \ -e GID=0 \ --privileged=true \ --device /dev/dri:/dev/dri \ -v /vol1/1000/Docker/emby/config:/config \ -v /vol1/1000/CloudNAS:/media:shared \ -v /vol1/1000/Docker/emby/metadata:/metadata \ --restart=unless-stopped \ --network host \ emby/embyserver:latest 4.2 Verify Emby Can Access Cloud Storage # Enter Emby container to check mount docker exec -it emby sh ls -la /media/ ls -la /media/115/ # Should see 115 cloud storage content exit 4.3 Configure Emby Access Emby management interface: http://192.168.71.9:8096 Complete initial setup Add media library: Type: Movies/TV Shows Path: /media/115/movie/ (based on actual cloud storage directory structure) Add other cloud storage paths as needed Part 5: Configure FRP Remote Access 5.1 Download and Install FRP # Download latest FRP version cd /opt wget https://github.com/fatedier/frp/releases/download/v0.64.0/frp_0.64.0_linux_amd64.tar.gz tar -xzf frp_0.64.0_linux_amd64.tar.gz cd frp_0.64.0_linux_amd64 5.2 Create FRP Client Configuration # Create configuration file cat > frpc.toml << 'EOF' [common] server_addr = "101.132.148.140" server_port = 7000 [fnos_auth] method = "token" token = "Qws@33615336" [fnos_transport] protocol = "tcp" tls_enable = true [fnos_web_5666] type = "tcp" local_ip = "127.0.0.1" local_port = 5666 remote_port = 5666 [fnos_emby_8096] type = "tcp" local_ip = "127.0.0.1" local_port = 8096 remote_port = 8096 [fnos_ssh_2233] type = "tcp" local_ip = "127.0.0.1" local_port = 22 remote_port = 2233 EOF Note: ...