Code Monkey home page Code Monkey logo

clearwater-docker's Introduction

Clearwater Docker

This repository contains Dockerfiles for use with Docker and Compose to deploy Project Clearwater.

Using Compose

There is a Compose file to instantiate a minimal (non-fault-tolerant) distributed Clearwater deployment under Docker. To use it, run

# Install Docker (on Ubuntu) - we need the latest for compatibility with Compose.
wget -qO- https://get.docker.com/ | sh

# Install Docker Compose (on Ubuntu).
apt-get install python-pip
pip install -U docker-compose

# Build the base Clearwater docker image.
docker build -t clearwater/base base

# Build all the other Clearwater Docker images and start a deployment.
docker-compose -f minimal-distributed.yaml up

Manual Turn-Up

If you can't or don't want to use Compose, you can turn the deployment up manually under Docker. To use it, run

# Install Docker (on Ubuntu).
wget -qO- https://get.docker.com/ | sh

# Build the Clearwater docker images.
for i in base bono ellis homer homestead ralf sprout ; do docker build -t clearwater/$i $i ; done

# Turn up all the containers and link them together.
docker run -d --name homestead -p 22 clearwater/homestead
docker run -d --name homer -p 22 clearwater/homer
docker run -d --name ralf -p 22 clearwater/ralf
docker run -d --name sprout -p 22 --link homestead:homestead --link homer:homer --link ralf:ralf clearwater/sprout
docker run -d --name bono -p 22 -p 3478:3478 -p 3478:3478/udp -p 5060:5060 -p 5060:5060/udp -p 5062:5062 --link sprout:sprout clearwater/bono
docker run -d --name ellis -p 22 -p 80:80 --link homestead:homestead --link homer:homer clearwater/ellis

Exposed Services

The deployment exposes

  • the Ellis web UI on port 80 (exposed on port 8080) for self-provisioning - the signup key is "secret"
  • STUN/TURN on port 3478 for media relay
  • SIP on port 5060 for service
  • SIP/WebSocket on port 5062 for service.

Additionally, each node exposes SSH - use docker ps to see what port its exposed on. The username/password is root/root.

What Next?

Once you've turned up the deployment, you can test it by

  • making a call - make sure you configure your SIP clients with a proxy, as if it were an All-in-One node
  • running the live tests - again, set the PROXY and ELLIS elements, as if it were an All-in-One node.

clearwater-docker's People

Contributors

mirw avatar yossibh avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.