rhastie / easy-nmos

Easy NMOS setup an testing using Docker compose/available containers
Apache License 2.0
56 stars 9 forks source link

Easy-NMOS Docker Compose Solution

This starter kit allows the user to launch a simple NMOS setup with minimal installation steps. It is composed of three Docker containers:

All you need is a Linux host (Windows and Mac hopefully coming soon), with a recent version of Docker and Docker Compose installed. Alternatively, you can run the implementation inside a Linux virtual machine on any platform.

Finally, if you want/need access to the build instructions for these containers you can use the following links:

Brief installation instructions

0. Clone this repository locally or download and unpack the archive

1. Install Docker and Docker Compose

Follow the short instructions.

2. Configure Compose IP addresses for your environment

You will need 3 unused IP addresses that all reside in the same subnet as the host IP address. The docker-compose script by default starts all the containers with externally facing IP addresses so that they are easily accessible from your LAN.

Configure the following inside the "docker-compose.yml" file

3. Start Docker Compose to start Easy-NMOS

You should just be able to docker-compose up and then access the relevant host IP address and port.

In order to ensure you keep the docker images up-to-date, just docker-compose pull before the docker-compose up.

Quick Start Guide

Default Ports and mDNS hostnames

Services mDNS name Opened ports
NMOS Registry/Controller/MQTT Broker nmos-registry.local 80 (HTTP), 81 (WebSocket), 1883 (MQTT)
NMOS Virtual Node nmos-virtnode.local 80 (HTTP), 81 (WebSocket)
AMWA NMOS Testing Tool nmos-testing.local 5000 (HTTP)

These values appear in "docker-compose.yml", "registry.json" and "node.json".

How to Browse to respective NMOS services and tools

Assuming your client device is correctly supporting mDNS and is on the same LAN as the host running the containers you should be able to use the mDNS hostnames. If this does not work please try the respective IP addresses etc.

Browse to the NMOS Controller

http://nmos-registry.local/admin

Browse to the AMWA NMOS Testing Tool

http://nmos-testing.local:5000/

Browse to the APIs of the NMOS Registry

http://nmos-registry.local/x-nmos

Browse to the APIs of the NMOS Node

http://nmos-virtnode.local/x-nmos

Next steps for this project