peerstreamer_docker @ master
|images||756b9cdd||almost 3 years||Nicolò Facchi||Update Dockerfile to WebRTC based PeerStreamer-...|
|Dockerfile||1.89 KB||465e4245||over 2 years||Luca Baldesi||remove tag from psng-pyserf interface|
|LICENSE||1.49 KB||2049138d||almost 3 years||Nicolo' Facchi||Add LICENSE file|
|README.md||5.04 KB||756b9cdd||almost 3 years||Nicolò Facchi||Update Dockerfile to WebRTC based PeerStreamer-...|
|cron-supervisord.conf||222 Bytes||740fa994||over 2 years||Luca Baldesi||refactor Dockerfile to use debian stable and su...|
|psng-supervisord.conf||357 Bytes||c3bff8c5||over 2 years||Luca Baldesi||fix bug on supervisord command string|
|pyserf-supervisord.conf||334 Bytes||465e4245||over 2 years||Luca Baldesi||remove tag from psng-pyserf interface|
|requirements.txt||38 Bytes||f4d22966||almost 3 years||Nicolo' Facchi||Dockerfile for PeerStreamer-NG and psng-pyserf ...|
|serf-python.tar.gz||23.4 KB||f4d22966||almost 3 years||Nicolo' Facchi||Dockerfile for PeerStreamer-NG and psng-pyserf ...|
|supervisord.conf||885 Bytes||90516c3e||over 2 years||Luca Baldesi||add supervisorctl capabilities|
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):
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
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
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
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.
/var/local/cDistro/plug/resources/docker/containers/ create a new file
PeerStreamer-ng_latest.json with the following content:
"description": "P2P live video streaming",
"image": "--net host nfunitn/peerstreamer:latest",
Now point your browser to http://
Now you are on the "Docker" page that should appear similar to the screenshot reported below:
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:
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:
Now you can connect to PeerStreamer-ng web page by pointing your browser to
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
NOTE: for information about how to stream a video content take a look at the script provided here
Also available in: Atom