Skip to content

Standalone server - Docker

How to get images?

Image registry

Image are available in ghcr.io/software-mansion/smelter registry.

Available image tags:

  • v{VERSION} e.g. v0.4.0 - Base version
  • v{VERSION}-web-renderer e.g. v0.4.0 - Base version with web rendering enabled. Includes Chromium Embedded Framework.

Build your own image

If you need to customize something or just want to build the images yourself you can find Dockerfiles in:

To build it, run:

docker build -f build_tools/docker/slim.Dockerfile -t smelter .

Enabling hardware acceleration

By default, if you run

docker run -p 8081:8081 ghcr.io/software-mansion/smelter

it will launch the server in the CPU only mode. Encoding and decoding will be purely CPU based, and rendering will be emulated using LLVMpipe.

To leverage the power of your GPU you need to pass it to the docker container:

AMD GPU - Linux

Add --device /dev/dri to your docker run command to pass GPU access to the container.

docker run
--device /dev/dri
-p 8081:8081 ghcr.io/software-mansion/smelter

Nvidia GPU - Linux

Add --gpus all --runtime=nvidia to your docker run command to pass GPU access to the container.

docker run
--gpus all --runtime=nvidia
-p 8081:8081 ghcr.io/software-mansion/smelter

Hardware requirements

Smelter can fully work on the machine with CPU only, but to leverage GPU acceleration your hardware and drivers needs to meet some requirements.

WebGPU features

To support GPU-based rendering your hardware and drivers needs to support specific features.

Required features:

  • TEXTURE_BINDING_ARRAY
  • PUSH_CONSTANTS

Enabled by default, but it can be disabled:

  • SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING
  • UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING

Those options are enabled by default, but can be disabled using SMELTER_REQUIRED_WGPU_FEATURES environment variable.

Hardware decoding

To leverage hardware decoding, your GPU and drivers need to support following Vulkan extension;

  • VK_KHR_video_queue
  • VK_KHR_video_decode_queue
  • VK_KHR_video_decode_h264