Statistics
| Branch: | Tag: | Revision:

peerstreamer_docker @ master

Name Size Revision Age Author Comment
  images 756b9cdd almost 2 years Nicolò Facchi Update Dockerfile to WebRTC based PeerStreamer-...
Dockerfile 1.89 KB 465e4245 over 1 year Luca Baldesi remove tag from psng-pyserf interface
LICENSE 1.49 KB 2049138d almost 2 years Nicolo' Facchi Add LICENSE file
README.md 5.04 KB 756b9cdd almost 2 years Nicolò Facchi Update Dockerfile to WebRTC based PeerStreamer-...
cron-supervisord.conf 222 Bytes 740fa994 over 1 year Luca Baldesi refactor Dockerfile to use debian stable and su...
psng-supervisord.conf 357 Bytes c3bff8c5 over 1 year Luca Baldesi fix bug on supervisord command string
pyserf-supervisord.conf 334 Bytes 465e4245 over 1 year Luca Baldesi remove tag from psng-pyserf interface
requirements.txt 38 Bytes f4d22966 almost 2 years Nicolo' Facchi Dockerfile for PeerStreamer-NG and psng-pyserf ...
serf-python.tar.gz 23.4 KB f4d22966 almost 2 years Nicolo' Facchi Dockerfile for PeerStreamer-NG and psng-pyserf ...
supervisord.conf 885 Bytes 90516c3e over 1 year Luca Baldesi add supervisorctl capabilities

Latest revisions

# Date Author Comment
c3bff8c5 05/09/2018 12:29 PM Luca Baldesi

fix bug on supervisord command string

465e4245 03/28/2018 03:42 PM Luca Baldesi

remove tag from psng-pyserf interface

30ff79bc 02/14/2018 05:13 PM Luca Baldesi

add self-detection of outer interface

90516c3e 02/13/2018 10:58 AM Luca Baldesi

add supervisorctl capabilities

3909028b 02/09/2018 05:40 PM Luca Baldesi

add integration with pyserf channel broadcasting from psng

bc3a6e02 02/08/2018 04:11 PM Luca Baldesi

add explicit interface binding on eth0 for the streamers

740fa994 02/05/2018 06:27 PM Luca Baldesi

refactor Dockerfile to use debian stable and supervisord

756b9cdd 01/10/2018 03:08 PM Nicolò Facchi

Update Dockerfile to WebRTC based PeerStreamer-ng.

This commit also adds a short tutorial for installing the
PeerStreamer-ng Docker image into Cloudy.

2049138d 12/20/2017 10:15 AM Nicolo' Facchi

Add LICENSE file

f4d22966 12/19/2017 02:59 PM Nicolo' Facchi

Dockerfile for PeerStreamer-NG and psng-pyserf (v0.1).

The docker image created with this Dockerfile has been used for the demo
of the netCommons plenary meeting of July 2017 (PeerStreamer-NG
dockerized for Cloudy interoperability)

View all revisions | View revisions

README


PeerStreamer-NG docker imange

For generating the peerstreamer docker image run the following command:

docker build -t peerstreamer .

If you intend to push the image on docker hub it is better to use directly the tag that includes your user name. Supposing the username is xxx and the repository is called peerstreamer:

docker build -t xxx/peerstreamer .

In order to push the new image the following command are required (and an account on hub.dovker):

bash docker login (this requires username and password) docker push xxx/peerstreamer (this implies latest as tag, use peerstreamer:<tag> to change the version)

Run the container with the following command:

docker run -d peerstreamer

Base image

Currently the peerstreamer docker image is based on baseimage-docker that, among other things, provides mechanisms for easily running multiple processes (for more information look at here).

Basic documentation for adding additional services is provided here

baseimage-docker provides an easy way for setting up an ssh server for logging into the container as described here

Inspecting peerstreamer image

For debugging reasons it can be useful to have the ability to look around in the peerstreamer image. This can be achieved with the following command:

docker run --rm -t -i peerstreamer /sbin/my\_init -- bash -l

Cloudy

This section contains a short tutorial that explains how to install the PeerStreamer-ng Docker image into Cloudy. This guide does not describe how to install Cloudy, we assume that a node with Cloudy correctly installed and configured is already available. If Cloudy is available you should be able to connect to the Cloudy node by pointing you browser to http://:7000.

WARNING: the latest tested version of Cloudy (commit 8ffd754) contains a few bugs that make it impossible to install the PeerStreamer-ng Docker image using only the web interface provided by Cloudy. The bugs can be bypassed by manually writing one of the required configuration files and in order to do this you need local access with root permissions to the cloudy node.

The first step for installing the PeerStreamer-ng Docker image requires to create a configuration file that describes the PeerStreamer-ng Docker image in a format recognized by Cloudy. In order to complete this step you need local access to the Cloudy node with root permissions.

In /var/local/cDistro/plug/resources/docker/containers/ create a new file called PeerStreamer-ng_latest.json with the following content:

code { "appname": "PeerStreamer-ng", "description": "P2P live video streaming", "image": "--net host nfunitn/peerstreamer:latest", "name": "peerstreamer" }

Now point your browser to http://:7000 and enter the login credentials. From the Cloudy start page click on "Enterprise cloud" -> "Docker" as shown in the screenshot reported below:

cloudy_startpage

Now you are on the "Docker" page that should appear similar to the screenshot reported below:

cloudy_dockerpage

Now open the list of available Docker images by clicking on "Add predefined Docker images". This should open the page containing the list of Docker images ready to be launched and PeerStreamer-ng shoud appear among them. In the example reported below PeerStreamer-ng is the first entry:

cloudy_imageslist

Now you can finally launch PeerStreamer-ng by clicking on "Launch". This will start the PeerStreamer-ng container in background.

NOTE: if this is the first time you perform this operation, Cloudy will take care of downloading the peerstreamer image from Docker Hub. The time required for this operation depends on the download speed of your connection. Once the image has been downloaded, the next time you launch the container the startup time should be negligible.

Now, if you go back to "Enterprise cloud" -> "Docker", you should see the peerstreamer container listed under "Running Docker containers" as shown in the example reported below:

running_containers

Now you can connect to PeerStreamer-ng web page by pointing your browser to http://:3000 and something similar to the example reported below should appear:

psng

as you can see the available channels are listed on the right side of the page.

NOTE: for adding and deleting channels from the Serf cluster see the psng-pyserf tool documentation

NOTE: for information about how to stream a video content take a look at the script provided here

Also available in: Atom