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 bitwavetv/bms-api-server:latest
docker pull bitwavetv/bms-nginx-server:latest
docker-compose up --build -d
Updating Dev Server:
docker pull bitwavetv/bms-api-server:dev
docker pull bitwavetv/bms-nginx-server: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 bitwavetv/bms-nginx-server:latest .
- or -
docker-compose build
Build API server:
cd api-server
docker build -t bitwavetv/bms-api-server:latest .
- or -
docker-compose build
Push updated containers to docker:
docker push bitwavetv/bms-nginx-server
docker push bitwavetv/bms-api-server
Exec bash into running container:
docker exec -it [containerId] bash
Docker-Compose start server:
docker-compose up
Docker-Compose build & run detatched:
docker-compose up --build -d
Update Restart & Show Logs:
docker pull bitwavetv/bms-api-server && \
docker pull bitwavetv/bms-nginx-server && \
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 Servicers image, tagged as dev
.
(This is the most convient 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 bitwave-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 bitwavetv/bitwave-media-server:builder .
Build from cache:
docker build \
--cache-from bitwavetv/bitwave-media-server:builder \
--cache-from bitwavetv/bitwave-media-server:latest \
-t bitwavetv/bitwave-media-server:latest .