An RTMP ingestion server + API server packaged as docker containers for managing and controlling streams, restreams, and archives.
This is the backbone of livestreaming for [bitwave.tv]
Utilizing tech such as NGINX, ffmpeg, node.js, and docker.
Updating Server: (an easier method is available via server-scritps)
docker pull lbry/livestream-api:latest
docker pull lbry/livestream-nginx:latest
docker-compose up --build -d
Updating Dev Server:
docker pull lbry/livestream-api:dev
docker pull lbry/livestream-ngix:dev
docker-compose up --build -d
Rebuild & View logs:
docker-compose up --build -d && docker-compose logs --tail 25 -f
View Logs: (an easier method is available via server-scritps)
docker-compose logs --tail 25 -f
Build NGINX server:
cd nginx-server
docker build -t lbry/livestream-nginx:latest .
- or -
docker-compose build
Build API server:
cd api-server
docker build -t lbry/livestream-api:latest .
- or -
docker-compose build
Push updated containers to docker:
docker push lbry/livestream-nginx
docker push lbry/livestream-api
Exec bash into running container:
docker exec -it [containerId] bash
Docker-Compose start server:
docker-compose up
Docker-Compose build & run detached:
docker-compose up --build -d
Update Restart & Show Logs:
docker pull lbry/livestream-api && \
docker pull lbry/livestream-nginx && \
docker-compose up --build -d && \
docker-compose restart && \
docker-compose logs --tail 25 -f
These basically do what is described above, but without requiring as much typing.
To execute the follow commands, preface them with: npm run COMMAND
.
Build API Service, tag as dev
.
Build NGINX Service, tag as dev
.
Push API Server image, tagged as dev
.
Push NGINX Server image, tagged as dev
.
Build ALL Services, tagged as dev
.
Push ALL Services image, tagged as dev
.
(This is the most convenient command)
One shot build and push ALL services, tagged as dev
.
see: server-scripts
Currently, the following commands are available:
Updates and restarts ingestion server.
Show docker logs for odysee-media-server
(aka I no longer remember the context of these commands, and they are probably not needed)
Cache Builder:
docker build \
--target builder \
-t lbry/bitwave-media-server:builder .
Build from cache:
docker build \
--cache-from lbry/bitwave-media-server:builder \
--cache-from lbry/bitwave-media-server:latest \
-t lbry/bitwave-media-server:latest .