Server installation

The STANAG On Demand Server is installed as a set of microservices, with Linux being the preferred operating system. Although the solution can be deployed by directly installing the components, this manual describes a preferred method that uses containerization (with Docker) and service orchestration tools. For local server deployment (single host), we will use docker-compose, while archive is more suitable for distributed deployment.

In any real deployment, it is crucial that the server runs behind a reverse proxy or similar services such as Cloudflare tunnels. The rationale behind this is primarily for security and reliability purposes. By using a reverse proxy, the server's exposure to the Internet is reduced, making it less susceptible to malicious attacks. Additionally, the reverse proxy can handle tasks such as SSL termination, load balancing, and caching, which can improve the server's performance and scalability. Using a reverse proxy also allows for easier management and deployment of updates, as changes can be made to the reverse proxy configuration without affecting the underlying server. Overall, using a reverse proxy or similar service is essential for any real deployment in a production environment to ensure the server's security, reliability, and scalability.

Production setup

Server setup behind a reverse proxy. More on the production architecture.

Local network setup

Setup on a local network, without reverse proxy.

Installing Docker and docker-compose

Docker Compose is a recommended method to quickly launch the STANAG On Demand Server, especially for standalone (single host) configurations. To deploy the server using docker-compose*, you need to download and install Docker and Docker Compose, and ensure that you have completed the post-installation steps and added your user to the docker group. It is important to reboot before following the steps below.

Manual installaion

Installaion with st-launcher

Running on Windows

StanagOnDemand server is a collection of microservices, and although most of them are cross-platform, we only offer the Linux version of the server. If someone wishes to run the server on Windows, they can do so by using a virtual machine (VM). It should be noted that running Docker inside a VM may not be the most efficient approach, given the additional overhead of running the VM. However, for evaluation or for a small number of client devices, running the server in a VM is a viable option. For full-scale deployment, we strongly recommend using a Linux machine, as it will offer the best performance and scalability. One of the fastest and most convenient ways to run a server on Windows is to use Ubuntu Multipass. More info.

Offline setup

Installing a Docker-based application offline requires some additional steps, but it's entirely possible with the right preparation. Here are the step by step instructions. Please note that you'll need access to another machine with internet access to download the necessary Docker images in advance.
Offline setup

Advanced setup

Running server behind a reverse proxy

The preferable way to use the STANAG On Demand Server is by running it behind a reverse proxy, In this case the server will require only port 80 (or 443, in case of https) to be opened (Stream monitor currently would still need some other open ports). The reverse proxy will pass requests from port 80 to microservices, handle https ssl encryption, and more.

In order to use the server with a reverse proxy, set USING_REVERSE_PROXY to true

USING_REVERSE_PROXY=true

More on reverse proxy configuration.

Serving video

Though STANAG On Demand Server can (and will) handle video content without additional components, for production, you should delegate video serving task to a dedicated http server.
For example, if you're using Nginx as a reverse proxy you can reroute all requests for video content to another server. Or just serve the video with the Nginx itself.

Open another http server on port 8084 and serve the video from there.

    location /videos/  {
        proxy_pass         http://localhost:8084/;   
        proxy_set_header   Host $http_host;                 
    }

Video conferencing

StanagOnDemand server uses the LiveLit open source WebRTC stack. Follow the instructions for local or cloud server installation. To ensure a secure LiveKit deployment, you will need a domain and an SSL certificate for that domain.

You'll have to configure the following entries in the .env file:

LK_URL=wss://....
LK_API_KEY=MYAPI......
LK_API_SECRET=mysecret....

License

STANAG On Demand Server without a license will work in demo mode (with restrictions). In order to lift demo restrictions you should provide the license using one of 3 options:

  • Using GUI frontend to upload the license
  • Passing license info as the arguments (with --licenseFile and --licenseKey)
  • Copying license file (.lic) and a key (.txt) file into current working directory LICENSE_DIR defined in .env

License options

StServer optional features are enabled by the License

Options:
- VOD - basic license. File upload and video on demand services
- Live - live stream playback
- Multi sensor - multi-sensor platform support
- Number of concurrent users - number of allowed concurrent clients - VOD for StPlayer - One web client and an unlimited number of StPlayer clients. This one is usually for on VOD playback only

More on license types

Getting license

In order to get the license, please contact ImpleoTV support, providing the Node Info string (which can be found in License dialog).

Node Info

Uploading license

You will receive 2 files - license file and key file. Simply drag and drop them into the Upload dropzone.

Upload license

Licenses are stored in the folder specified in .env file and automatically mounted by the server docker container.

LICENSE_DIR=~/licenses/stserver/

It is also possible to simply copy the licenses to this directory.

Note:
Make sure that the server has an access rights to read and write to this directory.
Also, only keep one copy of the license file and key, the server will use the first one found.

Getting help

To get help with STANAG On Demand Server, please contact us at support@impleotv.com.