Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# starting from a base image of Ubuntu
FROM ubuntu:latest
FROM ubuntu:16.04

# **** Base System Initialization and Setup ****

Expand All @@ -11,7 +11,7 @@ FROM ubuntu:latest
# - libssl for access to build requirements for encryption protocols
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y gcc git cmake pkg-config libssl-dev
&& apt-get install -y build-essential git cmake pkg-config libssl-dev

# Lets set the working directory to root
WORKDIR /
Expand Down
54 changes: 30 additions & 24 deletions Docker/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,36 @@
<img src="https://github.com/rawrtc/rawrtc/blob/master/media/rawrtc-icon-256.png" width="48"> + <img src="https://github.com/docker/docker/blob/master/docs/static_files/docker-logo-compressed.png" width="96">
<img src="https://github.com/rawrtc/rawrtc/blob/master/media/rawrtc-icon-256.pn
g"width="48"> + <img src="https://github.com/docker/docker/blob/master/docs/sta
tic_files/docker-logo-compressed.png" width="96">
# RAWRTC Build Environment for Docker

This folder contains a functioning environment to run the RAWRTC build process inside a new Linux based docker instance.
One of the major advantages of RAWRTC is the removal of non DataChannel functions from the native WebRTC stack, dramatically simplifying the deployment on server based systems. Unlike WebRTC native, RAWRTC does not require media drivers (e.g. Pulse Audio of Fake* Video/Audio drivers) to function. This makes RAWRTC ideal so server side applications which focus on the DataChannel implementation of WebRTC.
This folder contains a functioning environment to run the RAWRTC build process
inside a new Linux based docker instance.

## Notes
Currently the base `Dockerfile` has a functional RAWRTC build process on the latest Ubuntu release.
Additional Dockerfiles (e.g. Ubuntu 14.04 and earlier) can be used by simply changing the base image in Line 1 of the file
Currently the base `Dockerfile` has a functional RAWRTC build process on the
latest Ubuntu release. Additional Dockerfiles (e.g. Ubuntu 14.04 and earlier)
can be used by simply changing the base image in Line 1 of the file
```
FROM ubuntu;latest
FROM ubuntu:latest
```

To something like
```
FROM ubuntu:14.04
```
This is especially useful for generating static binaries where you need to ensure compatibility with older Glibc installations.
This is especially useful for generating static binaries where you need to
ensure compatibility with older Glibc installations.
***

## Docker Example

The first step is to [install docker link] https://docs.docker.com/engine/installation/linux/ubuntu/
The first step is to [install docker](https://docs.docker.com/engine/
installation/linux/ubuntu/)

Once Docker is installed and available, running the base is simple:

``` bash
```
bash
git clone -b dev_docker https://github.com/jacobloveless/rawrtc
cd rawrtc/docker

Expand All @@ -43,27 +49,27 @@ docker run -it rawrtc bash
root@9bf90c7aba3e:/rawrtc# data-channel-sctp 1 9999
[000000000] data-channel-sctp-app: Init
[000000029] helper-handler: (A) ICE gatherer state: gathering
[000000030] (A) ICE gatherer local candidate: foundation=ac110006, protocol=udp, priority=1, ip=172.17.0.6, port=38503, type=host, tcp-type=N/A, related-address=N/A, related-port=0; URL: N/A; enabled
[000000216] (A) ICE gatherer local candidate: foundation=45a21011, protocol=udp, priority=1, ip=69.162.16.16, port=54571, type=srflx, tcp-type=N/A, related-address=172.17.0.6, related-port=38503; URL: N/A; enabled
[000000030] (A) ICE gatherer local candidate: foundation=ac110006,
protocol=udp, priority=1, ip=172.17.0.6, port=38503, type=host, tcp-type=N/A,
related-address=N/A, related-port=0; URL: N/A; enabled
[000000216] (A) ICE gatherer local candidate: foundation=45a21011,
protocol=udp, priority=1, ip=69.162.16.16, port=54571, type=srflx,
tcp-type=N/A, related-address=172.17.0.6, related-port=38503; URL: N/A; enabled
[000000216] helper-common: (A) ICE gatherer last local candidate
[000000217] data-channel-sctp-app: Local Parameters:
{"iceParameters":{"usernameFragment":"PWTL1Mx4","password":"FPLAZsFjbVBmJgYWnZxdNVDpiAeL3FlZ","iceLite":false},"iceCandidates":[{"foundation":"ac110006","priority":1,"ip":"172.17.0.6","protocol":"udp","port":38503,"type":"host"},{"foundation":"45a21011","priority":1,"ip":"69.162.16.16","protocol":"udp","port":54571,"type":"srflx","relatedAddress":"172.17.0.6","relatedPort":38503}],"dtlsParameters":{"role":"auto","fingerprints":[{"algorithm":"sha-256","value":"DE:D1:98:DE:6C:E8:F6:97:84:E0:8D:14:77:8A:BA:93:73:24:EF:14:38:8C:B8:F5:17:71:A3:C6:D7:AF:00:E4"}]},"sctpParameters":{"maxMessageSize":0,"port":9999}}
{"iceParameters":{"usernameFragment":"PWTL1Mx4","password":"FPLAZsFjbVBmJgYWnZx
dNVDpiAeL3FlZ","iceLite":false},"iceCandidates":[{"foundation":"ac110006",
"priority":1,"ip":"172.17.0.6","protocol":"udp","port":38503,"type":"host"},
{"foundation":"45a21011","priority":1,"ip":"69.162.16.16","protocol":"udp",
"port":54571,"type":"srflx","relatedAddress":"172.17.0.6","relatedPort":38503}]
,"dtlsParameters":{"role":"auto","fingerprints":[{"algorithm":"sha-256",
"value":"DE:D1:98:DE:6C:E8:F6:97:84:E0:8D:14:77:8A:BA:93:73:24:EF:14:38:8C:B8:
F5:17:71:A3:C6:D7:AF:00:E4"}]},"sctpParameters":{"maxMessageSize":0,"port":9999
}}
[000000217] helper-handler: (A) ICE gatherer state: complete
^C[000001871] helper-handler: Got signal: 2, terminating...
[000001871] helper-handler: (A) Data channel closed: cat-noises
[000001872] helper-handler: (A) SCTP transport state change: closed
[000001872] helper-handler: (A) DTLS transport state change: closed
[000001872] helper-handler: (A) ICE gatherer state: closed
root@9bf90c7aba3e:/rawrtc# ls -l
total 40
-rw-r--r-- 1 root root 1760 Mar 3 15:41 CMakeLists.txt
-rw-r--r-- 1 root root 1318 Mar 3 15:41 LICENSE
-rw-r--r-- 1 root root 1849 Mar 3 15:41 Readme.md
drwxr-xr-x 6 root root 4096 Mar 3 15:41 build
drwxr-xr-x 2 root root 4096 Mar 3 15:41 htdocs
-rwxr-xr-x 1 root root 7644 Mar 3 15:41 make-dependencies.sh
drwxr-xr-x 2 root root 4096 Mar 3 15:41 media
-rw-r--r-- 1 root root 1041 Mar 3 15:41 meson.build
drwxr-xr-x 5 root root 4096 Mar 3 15:41 src
root@9bf90c7aba3e:/rawrtc#
```