欢迎光临
我们一直在努力

手把手教你用 Docker 搭建一个在线一起看电影的 Web 应用SyncTV

在日常生活中,线上娱乐与远程社交已经成为许多人不可或缺的一部分。
无论是和朋友异地追剧、情侣一起看电影,还是小团队、社群进行同步观影,如果长期依赖第三方平台,不仅功能受限,还常常面临画质、稳定性、隐私以及使用门槛等问题。

随着越来越多用户开始重视使用体验与数据自主可控,自托管应用逐渐成为一种新的选择。
相比完全依赖第三方视频网站或插件型工具,部署一套属于自己的同步观影系统,不仅更加自由,也能真正做到不受平台限制、体验完全可控

1. 项目介绍

SyncTV 是一款 开源、自托管、支持多人同步观影 的 Web 应用,专注于解决“异地一起看电影 / 追剧”的核心需求。

它通过房间机制,将多个用户连接在同一个观影会话中,实现播放进度、暂停、快进等操作的实时同步,让所有人始终保持在同一时间线观看内容。
SyncTV 本身不提供视频资源,而是作为一个同步控制与互动平台,可搭配本地媒体、NAS、第三方播放器或网络视频源使用,灵活性极高。

作为一款以 自部署 为核心理念的项目,SyncTV 不依赖任何中心化云平台,所有服务都运行在用户自己的服务器中,适合对隐私、稳定性和可控性有要求的用户。


1.1 项目特点

🎬 多人同步观影体验

SyncTV 支持多人同时加入同一个房间,播放、暂停、拖动进度等操作会实时同步到所有成员,真正实现“大家一起看”的观影体验,非常适合异地朋友、情侣或小型社群使用。

🎨 简洁直观的 Web 界面

项目采用简洁直观的 Web UI 设计,操作逻辑清晰,上手门槛低。
无论是在电脑端还是手机浏览器中访问,都能获得良好的使用体验,无需额外安装客户端。

⚙️ 专注同步与控制,功能克制

SyncTV 并不试图做一个“全能播放器”,而是专注于同步控制与协作观影这一核心场景。
界面和功能设计都围绕实际观影需求展开,避免复杂冗余,适合长期稳定使用。

🏠 房间机制,灵活组织观影

支持创建多个观影房间,不同房间之间互不影响,可用于:

  • 不同影片同时播放
  • 不同好友圈子使用
  • 临时观影或长期固定房间

使用场景非常灵活。

🚀 轻量级架构,资源占用低

SyncTV 整体架构轻量,对服务器性能要求不高,即使是配置较低的云服务器或家用 NAS,也可以稳定运行,非常适合自托管部署。

📦 官方支持 Docker 快速部署

项目官方提供 Docker 镜像,部署过程无需手动编译或配置复杂环境,只需几条简单命令,即可在服务器上完成部署,非常适合初次接触自托管应用的用户。

🔐 自托管部署,隐私可控

所有同步控制、房间数据均运行在用户自己的服务器中,不依赖第三方平台,有效降低隐私泄露风险,也避免了平台封禁、限制或服务下线的问题。

🌍 多平台访问支持

通过浏览器即可使用,支持桌面端与移动端访问,适合不同设备和使用场景,无需额外客户端或插件。

📂 数据持久化,便于维护

通过 Docker 数据卷实现数据持久化,配置和数据可随时备份、迁移或恢复,方便后期维护和服务器更换。

🧭 适用于多种使用场景

无论是:

  • 异地朋友一起看电影、追剧
  • 情侣同步观影
  • 小型社群或影迷群
  • 自托管影音娱乐实践

SyncTV 都是一款 稳定、自由、可控 的同步观影解决方案。

1.2 项目展示

演示DEMO:https://synctv.ywsj.eu.org/web/

2.相关地址

gitHub开源项目:https://github.com/synctv-org/synctv

3.搭建环境

  • 服务器:这里为了方便搭建项目使用的是莱卡云的境外香港云服务器。(国内用户连接建议使用国内的服务器(需备案域名或者IP+端口)延迟会更低)
  • 莱卡云服务器促销活动性价比会更高。查看官网购买链接:https://www.lcayun.com
  • 资源配置:2核2G 30G硬盘
    由于国内服务器访问海外源较慢,这边为了方便演示直接使用海外服务器搭建。
  • 服务器系统:Debian-13
  • 【必需】安装Docker:安装好 Docker、Docker-compose
  • 【非必需】域名一枚,可用于解析到服务器上使用域名访问

4.搭建视频

哔哩哔哩:

5.搭建方式

5.1 安装docker和docker-compose

安装教程:服务器上安装docker和docker-compose教程

5.2 创建docker文件

#在opt目录下创建synctv文件夹
mkdir -p /opt/synctv
#打开synctv文件
cd /opt/synctv

5.3 创建Docker Compose 配置

#编辑docker-compose.yml
vim docker-compose.yml

填入以下的配置文件

根据自己实际情况来设置

services:
  synctv:                          # 服务名(docker compose 内部标识),可自定义
    image: synctvorg/synctv:latest  # 使用的镜像:SyncTV 官方镜像(latest 表示最新版本)
    container_name: synctv          # 容器名称(方便 docker ps / logs 查看),可自定义
    restart: unless-stopped         # 重启策略:异常退出或重启机器会自动拉起;手动 stop 后不会再自动启动

    ports:
      - "8080:8080/tcp"             # 端口映射(TCP):宿主机 8080 -> 容器 8080(Web 访问一般走 TCP)
      - "8080:8080/udp"             # 端口映射(UDP):宿主机 8080 -> 容器 8080(部分实时通信/互动可能用到 UDP)

    volumes:
      - /opt/synctv/data:/root/.synctv # 数据持久化:把容器内配置/数据目录映射到宿主机,更新/重建容器不会丢数据

    environment:
      - TZ=Asia/Shanghai            # 容器时区:影响日志时间、计划任务等显示(按需要改)

5.4 运行synctv的docker镜像

我们先启动docker

# 启动docker
docker compose up -d

# 重启docker
docker compose stop
docker compose start

# 升级docker
docker compose down
docker compose pull
docker compose up -d

5.5 访问自己搭建的synctv

浏览器访问

http://你的服务器IP:8080

默认账号风险(必须改)

SyncTV 每次启动会检查是否存在 root 权限用户:如果没有,会初始化一个 root/root 的默认用户。上线公网前务必第一时间改掉

先用 root/root 登录

立即修改管理员用户名与密码(或新增管理员并禁用默认账号)

6.日常维护与升级

🔄 更新 synctv

cd /opt/synctv
docker compose pull
docker compose up -d

7.结语

到这里,你已经用 Docker 成功部署了 SyncTV,并能通过浏览器创建房间,实现多人同步观影。SyncTV 的优势在于:自托管、可控、轻量,并且官方提供 Docker 镜像,部署维护成本非常低。如果你准备对公网开放,请务必完成管理员密码修改,并根据需要决定是否接入 OAuth2 开放注册。

赞(0)
未经允许不得转载:莱卡云 » 手把手教你用 Docker 搭建一个在线一起看电影的 Web 应用SyncTV