wewatch icon indicating copy to clipboard operation
wewatch copied to clipboard

WeWatch allows watching videos together in sync

WeWatch logo

WeWatch allows watching videos together in sync

Try it here!

Screenshot

Features

  • πŸ“½οΈ Watch YouTube videos in sync
  • πŸ’¬ Send messages
  • πŸ‘· Able to be self-hosted
  • 🐳 Docker image

Tech Stack

  • πŸ—οΈ SvelteKit framework
  • πŸ•ΈοΈ Websockets via socket.io
  • πŸ“Ί VimeJS video player
  • πŸ“ Prisma ORM

Get Started

Docker (recommended)

Create docker-compose.yml

version: '3'
services:
  db:
    image: postgres
    environment:
      POSTGRES_USER: wewatch_user
      # Recommended: Change this
      POSTGRES_PASSWORD: password123
      POSTGRES_DB: wewatch_db
  wewatch:
    image: orosmatthew/wewatch
    depends_on:
      - db
    environment:
      - DATABASE_URL=postgres://wewatch_user:password123@db:5432/wewatch_db
      # Change according to domain name hosted on
      - ORIGIN=http://localhost:3000
      # Change according to domain name websockets hosted on
      - SOCKET_URL=http://localhost:3001
    ports:
      # Main web port
      - '3000:3000'
      # Websockets port
      - '3001:3001'

Run command to start

$ docker-compose up -d --build

Manually

First create a .env file according to .env.example

$ git clone https://github.com/orosmatthew/wewatch
$ cd wewatch
$ npm install
$ npx prisma db push
$ npm run build
$ node build

Development

Create a .env file according to .env.example

$ git clone https://github.com/orosmatthew/wewatch
$ cd wewatch
$ npm install
$ npx prisma db push
$ npx prisma generate
$ npm run dev