Deploying SyncTube
Introduction
SyncTube is a self-hosted platform for watching videos together with friends or groups in synchronized playback. Whether you’re hosting a watch party or collaborating on video content, SyncTube keeps everyone in sync.
Key highlights of SyncTube:
- Synchronized Playback: Everyone watches at the same moment
- Multiple Sources: Support for YouTube, Vimeo, and direct video URLs
- Chat Integration: Built-in chat for discussions
- Room System: Create private or public viewing rooms
- No Account Required: Guests can join without registration
- Leader Mode: Designated user controls playback
- Queue System: Add multiple videos to a playlist
- Lightweight: Minimal server requirements
- Mobile Friendly: Works on phones and tablets
This guide walks through deploying SyncTube on Klutch.sh using Docker.
Why Deploy SyncTube on Klutch.sh
Deploying SyncTube on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds SyncTube without complex orchestration.
HTTPS by Default: Secure video sharing sessions with automatic SSL certificates.
GitHub Integration: Connect your configuration repository for automatic redeployments.
Always On: Your watch party platform is available 24/7.
Prerequisites
Before deploying SyncTube on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your SyncTube configuration
- Basic familiarity with Docker and containerization concepts
Deploying SyncTube on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 4200
Create Your Repository
Create a new GitHub repository with a Dockerfile for SyncTube:
FROM romancm/synctube:latest
ENV NODE_ENV=productionENV PORT=4200
EXPOSE 4200
VOLUME ["/data"]Push to GitHub
Initialize and push your repository to GitHub with your Dockerfile.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create a New App
Within your project, create a new app and connect your GitHub repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
NODE_ENV | production |
PORT | 4200 |
Deploy Your Application
Click Deploy to start the build process.
Access SyncTube
Once deployment completes, access SyncTube at your app URL.
Configuration
Creating a Room
Create a new viewing room:
- Navigate to your SyncTube instance
- Click Create Room
- Set a room name (optional password)
- Share the room link with friends
Adding Videos
Add videos to the queue:
- Enter a YouTube, Vimeo, or direct video URL
- Click Add to Queue
- Videos play in order automatically
Playback Controls
The room leader can control:
- Play/Pause
- Seek position
- Skip to next video
- Clear the queue
Chat Features
Built-in chat allows:
- Real-time messaging
- Emoji reactions
- User mentions
- Chat history during session
Additional Resources
Conclusion
Deploying SyncTube on Klutch.sh gives you a private platform for synchronized video watching with automatic builds and secure HTTPS access. Host watch parties with friends from anywhere in the world.