Skip to content

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:

Deploying SyncTube on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile for SyncTube:

    FROM romancm/synctube:latest
    ENV NODE_ENV=production
    ENV 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:

    • Select HTTP as the traffic type
    • Set the internal port to 4200

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    NODE_ENVproduction
    PORT4200

    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:

  1. Navigate to your SyncTube instance
  2. Click Create Room
  3. Set a room name (optional password)
  4. Share the room link with friends

Adding Videos

Add videos to the queue:

  1. Enter a YouTube, Vimeo, or direct video URL
  2. Click Add to Queue
  3. 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.