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.
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
Getting license
In order to get the license, please contact ImpleoTV support, providing the Node Info string (which can be found in License dialog).
Uploading license
You will receive a license file (with the .lic extension). Drag and drop it into the Upload dropzone (or select the file).
You can review the allowed options in the Options tab.
Your license file is a JWT token. You can see it's content by opening the .lic file in any JWT viewer,
for example JWT.io.
License file location
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 license 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, 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.