selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

SyncWatch同步观影 logo

Self-host SyncWatch同步观影

v2.4.4

Open-source self-hosted watch party for synced video

ReleaseOpen SourceApache-2.0
Updatedlast month
LanguageJavaScript
Setup difficultyModerate
MobileNative app
Stars
141
CPU
2 cores (1-5 users), 4 cores (5-15 users), 8+ cores (15-50 users)
RAM
4 GB (1-5 users), 8 GB (5-15 users), 16 GB (15-50 users)
Storage
40 GB system + 100 GB SSD data (1-5 users), 200-500 GB SSD (5-15 users), 1 TB SSD (15-50 users)
Port
20311 (HTTP and WebSocket server for web UI, API, and real-time sync)
Requires
Ffmpeg/ffprobe, Node.js
Install with Docker Compose
Project cover showing product positioning and real playback interfaceMain interface with media library, synchronized playback, host controls, and online membersLogin and room entry screenSynchronized playback showing play controls, online members, sync status, and media progressAccount registration with email verification and server approvalFirst-login terms of service agreementPublic access settings with temporary tunnel, fixed domain, and network diagnosticsBackup and restore optionsPlayback controls with host lock, progress, rate, volume, and sync indicatorsMobile player interface on Android

What is SyncWatch同步观影?

SyncWatch is a self-hosted watch party application that enables synchronized video playback for remote users. One person runs the server on their machine (Windows, Linux, or Docker), and others join via Windows, Android, or a web browser. The server handles authentication, room state, media uploads, and real-time synchronization of play, pause, seek, and playback rate via Socket.IO. Features include real-time chat with danmaku, WebRTC voice calls, screen sharing (desktop and mobile), web page sharing, media library management with automatic transcoding to browser-compatible formats, room passwords and permissions, friend system, and an admin dashboard. Data is stored locally in a SyncWatch同步观影-Data directory. Optional Cloudflare Tunnel integration provides temporary public HTTPS access. The project is licensed under Apache-2.0.

Should you self-host SyncWatch同步观影?

SyncWatch同步观影 scores 46/100 on selfhost.directory (how scoring works) and ranks #24 of 36 in Video Streaming. It has 141 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v2.4.4, came out on 6 September 2026.

Setup is moderate: expect some configuration beyond a single command. It is Apache-2.0-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is piped (70/100, 10 293 stars). It scores higher overall, so compare the two before you pick. See SyncWatch同步观影 vs piped side by side.

Features

  • Admin Dashboard
  • AI relay
  • Cloudflare Tunnel integrationTemporary tunnels change on restart; fixed domains need manual reverse proxy setup
  • Cross-Platform Clients
  • Data backup and restore
  • Friend system and presence
  • Media Library Management
  • Passkey/WebAuthn supportMentioned in GitHub topics; implementation details not documented in sources
  • Real-time chat with danmaku
  • Room management with passwords and permissions
  • Screen sharing
  • Synchronized reading
  • Synchronized video playback
  • Web page sharingDRM and protected content may cause black screen
  • WebRTC voice calls

SyncWatch同步观影 README

How to install SyncWatch同步观影

Install SyncWatch同步观影 with Docker Compose

Environment variables
SYNCWATCH_PORT, SYNCWATCH_BIND_ADDRESS, SYNCWATCH_PUBLIC_URL, SYNCWATCH_ALLOWED_HOSTS, SYNCWATCH_TRUSTED_PROXIES, SYNCWATCH_DATA_DIR

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo mkdir -p /opt/syncwatch sudo unzip ~/SyncWatch同步观影-Server-vX.Y.Z.zip -d /opt/syncwatch cd /opt/syncwatch

Create .env with SYNCWATCH_PORT, SYNCWATCH_BIND_ADDRESS, SYNCWATCH_PUBLIC_URL, SYNCWATCH_ALLOWED_HOSTS, SYNCWATCH_TRUSTED_PROXIES

docker compose up -d --build

Binds ./SyncWatch同步观影-Data to /app/SyncWatch同步观影-Data; uses node:24-bookworm-slim base

How to configure SyncWatch同步观影

  • PORT20311Server listening port (default 20311)

    Server listening port (default 20311)

    values: Any valid TCP port

  • SYNCWATCH_ALLOWED_HOSTSComma-separated hostnames allowed for Host/Origin validation

    Comma-separated hostnames allowed for Host/Origin validation

    values: Hostname or hostname:port list

  • SYNCWATCH_BIND_ADDRESS0.0.0.0Bind address for the server (default 0.0.0.0 in Docker, all interfaces in EXE)

    Bind address for the server (default 0.0.0.0 in Docker, all interfaces in EXE)

    values: IP address

  • SYNCWATCH_DATA_DIR/app/SyncWatch同步观影-DataData directory path inside container

    Data directory path inside container

    values: Absolute path

  • SYNCWATCH_PUBLIC_URLPublic HTTPS root URL for share links and proxy trust (e.g. https://watch.example.com)

    Public HTTPS root URL for share links and proxy trust (e.g. https://watch.example.com)

    values: Valid HTTP/HTTPS root URL

  • SYNCWATCH_TRUSTED_PROXIESComma-separated CIDR/IP of trusted reverse proxies for real client IP extraction

    Comma-separated CIDR/IP of trusted reverse proxies for real client IP extraction

    values: CIDR notation (e.g. 172.18.0.0/16,10.0.0.5)

SyncWatch同步观影 releases & version history

More in Video Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…