Docker provides a fast, reliable way to deploy Wowza Streaming Engine™ media server software in a consistent environment across different systems. Wowza Media Systems publishes preconfigured, ready-to-use Linux images for Wowza Streaming Engine (WSE) and WSE Manager on Docker Hub:
- Wowza Streaming Engine: The media server software that ingests, processes, and delivers live and on-demand streams.
- WSE Manager: The web UI for configuring, managing, and monitoring a WSE server. (Optional)
Both images support AMD64 (x86_64) and ARM64 (aarch64). These images ship with their configuration, dependencies, and runtime environment, so they behave the same in development, staging, and production.
This guide walks you through deploying both images with Docker, either with Docker Compose or as standalone containers. You can also run the images on Kubernetes.
Docker images
Wowza Streaming Engine images
The wowza/wowza-streaming-engine image is available in four variants, each with its own tag. Choose the variant that fits your use case, then set the [image-tag] value in wowza/wowza-streaming-engine:[image-tag] when you pull the image.
| Variant | Image tag | Description | Use it when |
|---|---|---|---|
| Base | [version] |
Includes a basic installation with documentation, preconfigured live and VOD applications, and sample video files. Use latest for the most recent release, or [version] to pin a specific version. For example, wowza/wowza-streaming-engine:latest or wowza/wowza-streaming-engine:4.12.0. |
You want a complete installation with sample applications to build on. |
| Slim | [version]-slim |
Includes a basic installation with no preconfigured applications or sample video files. It's half the size of Base. | You want a smaller image and plan to add your own applications and configuration. |
| Trial | latest-trial |
Includes preconfigured sample applications and an SSL certificate for wse-trial.wowza.com. |
You're evaluating WSE or want to send your first stream quickly. |
| VIF | [version]-vif-[vif-version] |
Builds on Slim and is preconfigured to run the Video Intelligence Framework (VIF). The [version] and [vif-version] must match the values for the WSE Manager image. |
You want to run Video Intelligence Framework workflows. |
For available versions, see the WSE tags on Docker Hub.
WSE Manager images
WSE Manager ships separately in the wowza/wowza-streaming-engine-manager image. WSE Manager is optional. You can manage WSE with the WSE REST API. To run WSE without WSE Manager, remove the wse-manager service from the Compose file, or skip the WSE Manager steps in the standalone instructions. Use the WSE Manager image that matches your WSE variant, then set the [image-tag] value in wowza/wowza-streaming-engine-manager:[image-tag] when you pull the image.
| Variant | Image tag | Description | Use with WSE variant |
|---|---|---|---|
| Standard | [version] |
Includes the standard WSE Manager web interface. Use latest for the most recent release, or [version] to pin a specific version. For example, wowza/wowza-streaming-engine-manager:latest or wowza/wowza-streaming-engine-manager:4.12.0. |
Base, Slim, Trial |
| VIF | [version]-vif-[vif-version] |
Includes the WSE Manager web interface with the Video Intelligence Framework (VIF) UI. The [version] and [vif-version] must match the values for the WSE image. |
VIF |
For available versions, see the WSE Manager tags on Docker Hub.
Deploy with Docker
Prerequisites
- A server with Docker installed
- A WSE license key
Docker Compose files
Each example Compose file below defines two services: WSE and WSE Manager. Choose the tab that matches your WSE variant, then follow the Docker Compose steps to deploy it.
Base or Slim
name: wowza-streaming-engine
services:
wse:
hostname: wse.docker
image: wowza/wowza-streaming-engine:[image-tag]
environment:
- WSE_LICENSE_KEY=[your-wse-license-key]
- ADMIN_USER=[your-admin-user]
- ADMIN_PASSWORD=[your-admin-password]
# Set list of IP addresses that are authorized to use the REST API
- IPWHITELIST=*
# Disable or enable the Wowza Streaming Engine Transcoder
- TRANSCODER=disabled
- LOG_LEVEL=WARN # DEBUG, INFO, WARN, ERROR
# Uncomment to persist configurations between starts of Wowza Streaming Engine
# volumes:
# - ./wse/applications:/usr/local/WowzaStreamingEngine/applications
# - ./wse/conf:/usr/local/WowzaStreamingEngine/conf
# - ./wse/content:/usr/local/WowzaStreamingEngine/content
# - ./wse/transcoder:/usr/local/WowzaStreamingEngine/transcoder
# Configure common Wowza Streaming Engine ports on the host machine
ports:
- 8087:8087 # REST API
- 80:80 # HLS, MPEG-DASH, and RTMPT streaming
- 443:443 # SSL/TLS streaming (RTMPS, HTTPS, and WebRTC)
- 1935:1935 # RTMP/RTMPE/RTMPT/RTSP-interleaved streaming and WOWZ streaming
- 6970-6999:6970-6999/udp # SRT
- 10000:10000/udp # SRT
wse-manager:
# Use latest, or [version] to pin a version
image: wowza/wowza-streaming-engine-manager:[manager-image-tag]
environment:
- LOG_LEVEL=WARN # DEBUG, INFO, WARN, ERROR
- WSE_HOST=http://wse.docker:8087
# Configure common WSE Manager ports on the host machine
ports:
- 8088:8080Trial
name: wowza-streaming-engine-trial
services:
wse:
hostname: wse.docker
image: wowza/wowza-streaming-engine:latest-trial
environment:
- WSE_LICENSE_KEY=[your-wse-license-key]
- ADMIN_USER=[your-admin-user]
- ADMIN_PASSWORD=[your-admin-password]
# Set list of IP addresses that are authorized to use the REST API
- IPWHITELIST=*
# Disable or enable the Wowza Streaming Engine Transcoder
- TRANSCODER=disabled
- LOG_LEVEL=WARN # DEBUG, INFO, WARN, ERROR
# Uncomment to persist configurations between starts of Wowza Streaming Engine
# volumes:
# - ./wse/applications:/usr/local/WowzaStreamingEngine/applications
# - ./wse/conf:/usr/local/WowzaStreamingEngine/conf
# - ./wse/content:/usr/local/WowzaStreamingEngine/content
# - ./wse/transcoder:/usr/local/WowzaStreamingEngine/transcoder
# Configure common Wowza Streaming Engine ports on the host machine
ports:
- 8087:8087 # REST API
- 80:80 # HLS, MPEG-DASH, and RTMPT streaming
- 443:443 # SSL/TLS streaming (RTMPS, HTTPS, and WebRTC)
- 1935:1935 # RTMP/RTMPE/RTMPT/RTSP-interleaved streaming and WOWZ streaming
- 6970-6999:6970-6999/udp # SRT
- 10000:10000/udp # SRT
wse-manager:
# Use latest, or [version] to pin a version
image: wowza/wowza-streaming-engine-manager:latest
environment:
- LOG_LEVEL=WARN # DEBUG, INFO, WARN, ERROR
- WSE_HOST=http://wse.docker:8087
# Uncomment to serve WSE Manager over HTTPS with the trial certificate
# - JKS_TRIAL=true
# Configure common WSE Manager ports on the host machine
ports:
- 8088:8080
# Uncomment to publish WSE Manager over HTTPS
# - 8443:8443VIF
For VIF, both images must use the same [version] and [vif-version].
name: wowza-streaming-engine-vif
services:
wse:
hostname: wse.docker
image: wowza/wowza-streaming-engine:[version]-vif-[vif-version]
environment:
- WSE_LICENSE_KEY=[your-wse-license-key]
- ADMIN_USER=[your-admin-user]
- ADMIN_PASSWORD=[your-admin-password]
# Set list of IP addresses that are authorized to use the REST API
- IPWHITELIST=*
- LOG_LEVEL=WARN # DEBUG, INFO, WARN, ERROR
# Uncomment to persist configurations between starts of Wowza Streaming Engine
# volumes:
# - ./wse/applications:/usr/local/WowzaStreamingEngine/applications
# - ./wse/conf:/usr/local/WowzaStreamingEngine/conf
# - ./wse/content:/usr/local/WowzaStreamingEngine/content
# - ./wse/transcoder:/usr/local/WowzaStreamingEngine/transcoder
# Configure common Wowza Streaming Engine ports on the host machine
ports:
- 8087:8087 # REST API
- 80:80 # HLS, MPEG-DASH, and RTMPT streaming
- 443:443 # SSL/TLS streaming (RTMPS, HTTPS, and WebRTC)
- 1935:1935 # RTMP/RTMPE/RTMPT/RTSP-interleaved streaming and WOWZ streaming
- 6970-6999:6970-6999/udp # SRT
- 10000:10000/udp # SRT
wse-manager:
# Must match the WSE image's [version] and [vif-version]
image: wowza/wowza-streaming-engine-manager:[version]-vif-[vif-version]
environment:
- LOG_LEVEL=WARN # DEBUG, INFO, WARN, ERROR
- WSE_HOST=http://wse.docker:8087
# Configure common WSE Manager ports on the host machine
ports:
- 8088:8080
Deploy
Follow the steps in the sections below to deploy WSE and WSE Manager using a Docker Compose file or as standalone containers.
Docker Compose
Use one of the example Compose files and follow the steps below to manage and start WSE and WSE Manager together using Docker Compose.
Steps
- Save the example Compose file for your variant locally as
docker-compose.yaml. - Make sure Docker is running.
- Update the following settings in
docker-compose.yaml:- Container settings:
image: The image and tag for each service
- Environment variables:
WSE_LICENSE_KEY: Your WSE license keyADMIN_USER: An admin usernameADMIN_PASSWORD: An admin password
- Container settings:
- (Optional) Customize the deployment:
- Update environment variables, ports, or volumes.
- Add your own files, such as configuration files, without replacing the container’s defaults.
- Add GPU access to the WSE service. See the Docker documentation for the current syntax and host prerequisites.
- To run WSE without WSE Manager, remove the
wse-managerservice.
- Save the changes.
- Open a terminal in the same directory as
docker-compose.yaml. - Run
docker compose up. This command pulls the WSE and WSE Manager images and starts them in containers as configured in the Compose file. - Open WSE Manager in a browser at
http://localhost:8088. - Sign in with the username and password you set in step 3.
- Manage the containers using the Docker CLI.
Standalone
Follow these steps to create and run WSE and WSE Manager as standalone containers running on a shared network.
- Make sure Docker is running.
- Open a terminal.
-
Pull the WSE and WSE Manager images. Replace
[image-tag]with the tag for your WSE variant, and[manager-image-tag]with the matching WSE Manager tag. If you won’t use WSE Manager, skip the second command.docker pull wowza/wowza-streaming-engine:[image-tag] docker pull wowza/wowza-streaming-engine-manager:[manager-image-tag]
-
Create a Docker network so the two containers can communicate. This example creates a network named
wowza-net:docker network create wowza-net
-
Create and run the WSE container on the
wowza-netnetwork:- Set the following environment variables:
WSE_LICENSE_KEY: Your WSE license keyADMIN_USER: An admin usernameADMIN_PASSWORD: An admin password
- (Optional) Add other environment variables, ports, or volumes.
- (Optional) Add your own files, such as configuration files, without replacing the container’s defaults.
- (Optional) Add GPU access by including the
--gpusflag in yourdocker runcommand. See the Docker documentation for the current syntax and host prerequisites.
The example below creates a container named
wse. It publishes only the REST API and RTMP ports. To publish other ports, add a--publishflag for each one.docker run -d --name wse --network wowza-net \ --env WSE_LICENSE_KEY=[your-wse-license-key] \ --env ADMIN_USER=[your-admin-user] \ --env ADMIN_PASSWORD=[your-admin-password] \ --env IPWHITELIST='*' \ --publish 8087:8087 \ --publish 1935:1935 \ wowza/wowza-streaming-engine:[image-tag]
- Set the following environment variables:
-
(Optional) Create and run the WSE Manager container on the same network:
- Set the
WSE_HOSTenvironment variable to the WSE container name and REST API port. This allows WSE Manager to connect to WSE. - Add other environment variables, ports, or volumes as needed.
The example below creates a container named
wse-manager.docker run -d --name wse-manager --network wowza-net \ --env WSE_HOST=http://wse:8087 \ --publish 8088:8080 \ wowza/wowza-streaming-engine-manager:[manager-image-tag]
- Set the
- If you created the WSE Manager container, open WSE Manager in a browser at
http://localhost:8088and sign in with the username and password you set in step 5. - Manage the containers using the Docker CLI.
Next steps
- Send a stream quickly using the WSE Trial image.




