WatchParty: Watch anything together in-sync with your friends
See the code
A website for watching videos together.
git clone [email protected]:howardchung/watchparty.gitnpm installnpm run dev
PORT env varSSL_KEY_FILE and SSL_CRT_FILE for HTTPS.npm run ui
VITE_SERVER_HOST env var if you customized it aboveSSL_KEY_FILE and SSL_CRT_FILE for HTTPS..env.example file.envAll of these are optional and the application should work without them. Some functionality may be missing.
This project uses the YouTube API for video search, which requires an API key. You can get one from Google here.
Without an API key you won't be able to search for videos via the searchbox.
After creating a YouTube Data API V3 access, you can create an API key which you can add to your environment variables by copying the .env.example, renaming it to .env and adding the key to the YOUTUBE_API_KEY variable.
After that restart your server to enable the YouTube API access on your server.
This project uses Firebase for authentication. This is used for user login, account management, subscriptions, and handling some features like room locking/permanence.
To set up, create a new Firebase app (or reuse an old one) from here. After creating an application, click on the settings cog icon in the left menu next to "Project overview" and click on project settings. From there, scroll down, create a web application and copy the Firebase SDK configuration snippet JSON data.
Next, you have to stringify it: JSON.stringify(PASTE_CONFIG_HERE) in your browser console, then add it to VITE_FIREBASE_CONFIG in your .env file.
For server verification of accounts you'll also need FIREBASE_ADMIN_SDK_CONFIG, which you should do the same steps for.
This project supports creating virtual browsers (using https://github.com/m1k1o/neko) either on a cloud provider or with Docker containers. For development, Docker is easiest.
curl -fsSL https://get.docker.com | shid_rsa in ~/.ssh directory), if not, use ssh-keygen.DOCKER_VM_HOST_SSH_USER if root is not the correct userDOCKER_VM_HOST to a publically-resolvable value (i.e. not localhost)VM_MANAGER_CONFIG and run the vmWorker service.323 followers · starred Feb 2025
26 followers · starred Jun 2021
213 followers · starred Aug 2025
15 followers · starred Apr 2025
WatchParty: Watch anything together in-sync with your friends
See the code
A website for watching videos together.
git clone [email protected]:howardchung/watchparty.gitnpm installnpm run dev
PORT env varSSL_KEY_FILE and SSL_CRT_FILE for HTTPS.npm run ui
VITE_SERVER_HOST env var if you customized it aboveSSL_KEY_FILE and SSL_CRT_FILE for HTTPS..env.example file.envAll of these are optional and the application should work without them. Some functionality may be missing.
This project uses the YouTube API for video search, which requires an API key. You can get one from Google here.
Without an API key you won't be able to search for videos via the searchbox.
After creating a YouTube Data API V3 access, you can create an API key which you can add to your environment variables by copying the .env.example, renaming it to .env and adding the key to the YOUTUBE_API_KEY variable.
After that restart your server to enable the YouTube API access on your server.
This project uses Firebase for authentication. This is used for user login, account management, subscriptions, and handling some features like room locking/permanence.
To set up, create a new Firebase app (or reuse an old one) from here. After creating an application, click on the settings cog icon in the left menu next to "Project overview" and click on project settings. From there, scroll down, create a web application and copy the Firebase SDK configuration snippet JSON data.
Next, you have to stringify it: JSON.stringify(PASTE_CONFIG_HERE) in your browser console, then add it to VITE_FIREBASE_CONFIG in your .env file.
For server verification of accounts you'll also need FIREBASE_ADMIN_SDK_CONFIG, which you should do the same steps for.
This project supports creating virtual browsers (using https://github.com/m1k1o/neko) either on a cloud provider or with Docker containers. For development, Docker is easiest.
curl -fsSL https://get.docker.com | shid_rsa in ~/.ssh directory), if not, use ssh-keygen.DOCKER_VM_HOST_SSH_USER if root is not the correct userDOCKER_VM_HOST to a publically-resolvable value (i.e. not localhost)VM_MANAGER_CONFIG and run the vmWorker service.323 followers · starred Feb 2025
26 followers · starred Jun 2021
213 followers · starred Aug 2025
15 followers · starred Apr 2025