In the next step you'll learn how to configure Sever Identity & Group data.
Docker is the simplest way to start working with Storm Streaming Server. Please make sure that both Docker and Docker Compose components are installed on your target OS, you can do this by using the following command. If you have no prior experience with Docker, check our Docker Software Installation guide:
Let's check if all Docker components are in place:
docker version
(for Windows please use PowerShell/Command Prompt)
docker-compose version
(for Windows please use PowerShell/Command Prompt)Let's create a simplified docker configuration file called storm-docker-compose.yml
version: '3.8'
services:
storm-streaming-server:
image: stormstreaming/storm-streaming-server:latest
environment:
STORM_LICENSE_KEY: "DEVELOPER"
STORM_SERVER_NAME: "Main"
STORM_ADMIN_USERNAME: "admin"
STORM_ADMIN_PASSWORD: "admin"
JAVA_XMX_VALUE: "16g"
JAVA_XMS_VALUE: "8g"
ports:
- "8080:8080"
- "1935:1935"
volumes:
- /etc/ssl/private:/etc/ssl
- /var/logs/storm/log:/srv/storm/log
Explanation - Environmental variables:
STORM_LICENSE_KEY | For testing purposes, you can keep “DEVELOPER”, however server will be limited to 5 concurrent streams and 10 viewer connections. For a paid or non-commercial license, use your license key found on “My Products” page. |
STORM_ADMIN_USERNAME | Admin username for accessing the control panel. |
STORM_ADMIN_USERNAME | Admin password for accessing the control panel. |
Additional & Optional Environmental variables:
STORM_SERVER_NAME | The name of your server will help identify it later if you need to manage multiple instances. |
STORM_SERVER_GROUP | The server group will help identify it later if you need to manage multiple grouped instances. |
STORM_RTMP_SSL_ENABLED | If set to 'true' enables SSL engine for default RTMP VHost. The default value is 'false'. Please keep in mind that you'll also have to provide STORM_SSL_CERT_PATH & STORM_SSL_CERT_PASSWORD variables or server won't start. |
STORM_WEBSOCKET_SSL_ENABLED | If set to 'true' enables SSL engine for default WebSocket/HTTP VHost. The default value is 'false'. Please keep in mind that you'll also have to provide STORM_SSL_CERT_PATH & STORM_SSL_CERT_PASSWORD variables or server won't start. |
STORM_SSL_CERT_PATH | A path to JKS certificate file. The default path starts with '/etc/ssl' as it is shown in Volumes section below. Required if STORM_RTMP_SSL_ENABLED or STORM_WS_SSL_ENABLED are set to 'true'. |
STORM_SSL_CERT_PASSWORD | A password for JKS certificate file. Required if STORM_RTMP_SSL_ENABLED or STORM_WS_SSL_ENABLED are set to 'true'. |
STORM_RTMP_PORT | A default port for RTMP VHost (1935 by default). Please keep in mind that this port must be exposed to docker host. |
STORM_RTMP_HOST | A default hostname for RTMP. In order to open host on all available addresses use "*" (default value). |
STORM_WEBSOCKET_PORT | A default port for WebSocket VHost (8080 by default). Please keep in mind that this port must be exposed to docker host. |
STORM_WEBSOCKET_HOST | A default hostname for WebSocket & HTTP protocols. In order to open host on all available addresses use "*" (default value). |
Explanation – Volumes:
Volumes are shared (linked) directories between a docker host/machine (left side) and a docker container (right side). The right side after a colon should NOT BE MODIFIED
DOCKER_HOST_PATH_FOR_SSL:/etc/ssl | Volume for JKS files required for Storm running in SSL mode. |
DOCKER_HOST_PATH_FOR_CONFIGS:/srv/storm/config | Volume for Storm config files. |
DOCKER_HOST_PATH_FOR_LOGS:/srv/storm/log | Volume for logs. |
For Windows based operating system paths should look as in this example:
- /c/Users/USERNAME/Documents/Strom/config:/srv/storm/log
Explanation – Port forwarding:
Docker allows to forward ports between host/machine (left side) and a docker container (right side). Ports on the container side can be modified with STORM_RTMP_PORT and STORM_WS_PORT variables. You can also modify ports used internally by Storm Server by editing preferences.xml file (Vhost section).
Let’s create the container from our YML file now.
docker-compose -f storm-docker-compose.yml up
If we want to stop the container and destroy it, simply use:
docker-compose -f storm-docker-compose.yml down
In order to increase memory available to Java application within Docker you can use these optional environmental variables.
JAVA_XMS_VALUE: "8g" | Minimal amount of heap memory available for Java (Strom) application. Sample values: 8G – 8 GiB (default / development) 32G – 32 GiB (default / development) |
JAVA_XMX_VALUE: "16G" | Maximum amount of heap memory available for Java (Strom) application. Sample values: 16G – 16 GiB (default / development) 128G – 128 GiB (production) |
Create a free ticket and our support team will provide you necessary assistance.