簡介MoonTV 是一款開箱即用的跨平臺影視聚合播放器,專為影視愛好者打造。支持多源搜索、在線播放、收藏同步等功能,用戶可通過 Vercel 或 Docker 快速部署,輕松搭建個人專屬觀影平臺。 主要功能多源聚合搜索:內置數十個免費資源站點,支持劇集、電影、綜藝一鍵搜索,整合全網資源,解決資源分散問題,提升查找效率。 流暢在線播放:采用 HLS.js 和 VidStack 技術,支持高清流暢播放,并實驗性加入自動跳過切片廣告功能,提供更純凈的觀影體驗。 收藏與觀看記錄:用戶可收藏喜歡的影視內容,基于瀏覽器 LocalStorage 或 Redis 數據庫存儲觀看進度,支持跨設備同步,方便隨時繼續觀看。 PWA 離線體驗:支持離線緩存,可安裝到桌面或主屏,移動端擁有原生應用體驗,無網絡時也能觀看已緩存內容。 響應式布局:界面適配多種屏幕尺寸,桌面端采用側邊欄導航,移動端使用底部導航,操作便捷,用戶體驗友好。 開源地址https://github.com/senshinya/moontv 部署方法Docker 部署 1. 直接運行(最簡單,localstorage) # 拉取預構建鏡像 docker pull ghcr.io/senshinya/moontv:latest # 運行容器 # -d: 后臺運行 -p: 映射端口 3000 -> 3000 docker run -d --name moontv -p 3000:3000 --env PASSWORD=your_password ghcr.io/senshinya/moontv:latest 訪問 http://服務器 IP:3000 即可。(需自行到服務器控制臺放通 3000 端口) Docker Compose 最佳實踐 若你使用 docker compose 部署,以下是一些 compose 示例 local storage 版本 services: moontv: image: ghcr.io/senshinya/moontv:latest container_name: moontv restart: unless-stopped ports: - '3000:3000' environment: - PASSWORD=your_password # 如需自定義配置,可掛載文件 # volumes: # - ./config.json:/app/config.json:ro Redis 版本(推薦,多賬戶數據隔離,跨設備同步) services: moontv-core: image: ghcr.io/senshinya/moontv:latest container_name: moontv restart: unless-stopped ports: - '3000:3000' environment: - USERNAME=admin - PASSWORD=admin_password - NEXT_PUBLIC_STORAGE_TYPE=redis - REDIS_URL=redis://moontv-redis:6379 - NEXT_PUBLIC_ENABLE_REGISTER=true networks: - moontv-network depends_on: - moontv-redis # 如需自定義配置,可掛載文件 # volumes: # - ./config.json:/app/config.json:ro moontv-redis: image: redis container_name: moontv-redis restart: unless-stopped networks: - moontv-network # 如需持久化 # volumes: # - ./data:/data networks: moontv-network: driver: bridge |
|