Storm docs logo
Search the docs.../
Explore Storm Products

Control Panel Configuration - Storm Streaming Server

Storm Streaming Server includes a built-in administrative panel. This panel provides insight into the server's core parameters such as bandwidth usage, memory consumption, CPU load, and thread count. It also allows full configuration of the server settings, including the clustering module and applications.

Sample Configuration

To connect to the panel, appropriate server configuration through the config/preferences.xml file is necessary. The first step is to ensure that we have at least one VHost that supports the HTTP protocol. It is also necessary to add the isControlPanel parameter set to true. The standard configuration is shown in the example below and ensures an open socket on port 8080.

config/preferences.xml - VHost configuration
Code iconxml
<VHostSettings>
    ...
    <VHost host="127.0.0.1" port="8080" isSSL="false" isControlPanel="true">
        <Protocols>WEBSOCKETS, HTTP</Protocols>
    </VHost>
</VHostSettings>

If you want to learn more about the correct configuration of VHosts, we recommend consulting our VHost Guide.

User Accounts & Authorization

The Control Panel uses a role-based access control system. Each user account is defined within the <Authorization> block of the <ControlPanelSettings> element and can be assigned granular permissions per component.

config/preferences.xml - Control Panel settings
Code iconxml
<ControlPanelSettings enabled="true">
    <IPWhiteList>192.168.1.1, 10.0.0.2</IPWhiteList>
    <Authorization>
        <User username="admin" password="secret123" algorithm="plain">
            <AccessRights>
                <Component name="Server" access="read-write" />
                <Component name="Application" access="read-write" />
                <Component name="Stream" access="read-only" />
                <Component name="Viewer" access="read-only" />
            </AccessRights>
        </User>
    </Authorization>
</ControlPanelSettings>
Security Warning

Please make sure to change default Control Panel login credentials before deploying your server!

General Settings

The <ControlPanelSettings> element accepts the following parameters:

ParameterDescription
enabledEnables or disables the Control Panel. Optional attribute, defaults to true.
<IPWhiteList>A comma-separated list of IP addresses allowed to access the panel. If left empty, all IPs are permitted.
Production Tip

Leaving the IP whitelist empty is not recommended for production environments. Restrict access to known administrative IPs whenever possible.

User Configuration

Each <User> element defines a single account with the following attributes:

AttributeDescriptionRequired
usernameLogin name for the account. Must be unique across all users.Yes
passwordPassword for the account.Yes
algorithmPassword encoding method. Currently only plain is supported.Yes

Access Rights

Each user must have an <AccessRights> block containing one or more <Component> entries. This allows fine-grained control over what parts of the system a given user can view or modify.

Available components:

ComponentScope
ServerServer settings, licensing, and transcoding configuration
ApplicationInternal applications management
StreamMedia streams management
ViewerViewer connections management

Access levels:

LevelDescription
noneNo access to the component
read-onlyCan view but not modify
read-writeFull access to view and modify

Example: Multi-User Setup

The following example demonstrates a setup with an administrator and a read-only monitoring account:

config/preferences.xml - Multi-user configuration
Code iconxml
<ControlPanelSettings enabled="true">
    <IPWhiteList>192.168.1.0/24</IPWhiteList>
    <Authorization>
        <User username="admin" password="strongPassword1" algorithm="plain">
            <AccessRights>
                <Component name="Server" access="read-write" />
                <Component name="Application" access="read-write" />
                <Component name="Stream" access="read-write" />
                <Component name="Viewer" access="read-write" />
            </AccessRights>
        </User>
        <User username="monitor" password="strongPassword2" algorithm="plain">
            <AccessRights>
                <Component name="Server" access="read-only" />
                <Component name="Application" access="read-only" />
                <Component name="Stream" access="read-only" />
                <Component name="Viewer" access="read-only" />
            </AccessRights>
        </User>
    </Authorization>
</ControlPanelSettings>
Environment Variables

All parameters support environment variables using the ${EV:VARIABLE_NAME} syntax. Fields locked by environment variables cannot be modified via the REST API.

First Connection

Using any internet browser such as Chrome, Safari, Edge, or Firefox, we open the control panel subpage. The address of our panel will look like this:

Control Panel URL
Code icontext
http://127.0.0.1:8080/cpanel

If we are not using an SSL certificate in the configuration, we use http; otherwise, we replace this part with https. The address 127.0.0.1 is the host name or IP provided in the VHost configuration. In the case of using Docker, it might also be a domain like localhost or CONTAINER_NAME.docker. Port 8080 is the port on which the socket is open. In the case of Docker, this port may be different due to port forwarding between the host and the container.

Support Needed?

If you have any questions or need assistance, please create a support ticket and our team will help you.

Blog
Support
About us
Patents
Term of use
Privacy policy
Contact
©2026 Storm Streaming Media. All Rights Reserved.