Popcorn is live! at https://popcorntv.click
Let's say you're very far from your friends and family, but you want to watch a movie together. With Popcorn, you can create a virtual space where everyone can join, hangout and watch anything with each other! This repository features the server side of Popcorn, while the front end is presented by Popcorn-web.
Go <1.20 or above>
Redis <5 or above>
Node <20 or above>
NPM <9 or above>
VueJS <3 or above>
-
Get Livekit Host, API, Secret and RTMP Host credentials and save those in
config/secrets.env
. This is a one time thing. -
Create a docker network using the command below:
docker network create -d bridge popcorn-network
-
Clone this repository and run it using the command below:
docker compose --env-file=./config/secrets.env up --build
-
Clone Popcorn-web and run it using the command below:
docker compose up --build
-
Launch the nginx docker container, which'll receive both the backend and the frontend's traffic:
// In Popcorn repository cd nginx/ docker compose -f nginx-compose.yaml up --build
-
Finally, Open http://localhost and try it out!
-
Get Livekit Host, API, Secret and RTMP Host credentials and save those in
config/secrets.env
. This is a one time thing. -
Clone this repository and run it using the command below (Make sure redis-server is installed):
go mod download make load-db make local # Server is running on port 8080
-
Clone Popcorn-web.
-
Inside Popcorn-web repository, Set
VUE_APP_SERVER_URL = http://localhost:8080
(line-1). -
Run the frontend using the command below:
npm run serve -- --port 8081
-
Finally, Open http://localhost:8081 and try it out!