Popcorn is live! at https://popcorntv.in
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.
![Popcorn architecture (1)](https://private-user-images.githubusercontent.com/40127554/267126589-48b0e1ea-eeb8-4dc9-951a-c11a94720a08.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMzQ0NjYsIm5iZiI6MTczOTMzNDE2NiwicGF0aCI6Ii80MDEyNzU1NC8yNjcxMjY1ODktNDhiMGUxZWEtZWViOC00ZGM5LTk1MWEtYzExYTk0NzIwYTA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDA0MjI0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMxNTc1ZmRlYTVlYTBmNDRkN2RlZWE0NWRiN2ViY2U4ODJkMDAyYTlmZDUxNmY2ZjhiNmMyOGJlZDFmYjc0MDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IXFf0rjL4HwHUp48TaQvnTs98mwdW1y8i72jBAbpCjE)
Go <1.20 or above>
Redis <5 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 -d
-
Clone Popcorn-web and run it using the command below:
docker compose up --build -d
-
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 -d
-
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 and run the application (You'll find front-end docs there).
-
Finally, Open http://localhost:8081 and try it out!