Environment Variables

These environment variables enable you to control the default behaviour of Restreamer:

Name Default Description
RS_USERNAME admin Username for the backend. Details
RS_PASSWORD datarhei Password for the backend. Details
RS_SNAPSHOT_INTERVAL 1m Interval for new snapshots. Details
RS_AUDIO auto Audio track handling. Details
RS_TOKEN (not set) RTMP publish token. Details
RS_HTTPS false Enables HTTPS support for admin interface and embeddable player. Details
RS_LOGLEVEL 3 Logging level . Details
RS_TIMEZONE Europe/Berlin Set the timezone. Details
RS_DEBUG false Enables debugging reporting. Details
RS_DEBUG_HEAPDUMPS false Create heapdumps of application. Details
RS_NODEJS_PORT 3000 Node.js webserver port of application. Details
RS_NODEJS_ENV prod Node.js environment. Details
RS_MODE (not set) Enable different input devices. Details
RS_INPUTSTREAM (not set) Set default value for source stream. Details

You can define new values for these environment variables in different ways, depending on how you run Restreamer.

Shell example:

export RS_LOGLEVEL=4


Docker example:

docker run ...
    -e "RS_LOGLEVEL=4" \
    -e "RS_SNAPSHOT_INTERVAL=10000" \

Kitematic example: Kitematic Environment Variables


Set the username for the Restreamer GUI login.


Set the password for the Restreamer GUI login.

It is highly recommend to change the default password.


Set the interval in which the snapshot of the stream will be updated. The value should be in milliseconds. You can also use a suffix to indicate the time unit. Known suffixes are ms for milliseconds, s for seconds, m for minutes.

In the following examples, the snapshot interval will be set to 1 minute:


The snapshot interval cannot be shorter that 10 seconds. If you provide a value smaller than this, the interval will be set to the minimum of 10 seconds.

If you want to disable the snapshots, use the special value of 0 for the snapshot interval.


By default the audio track from the incoming stream will not be modified. Only if the audio format is not supported by the FLV container, the audio will be transcoded to AAC. If the incoming stream does not have an audio track, an empty AAC audio track will be added. You can change this behaviour by providing one of the values to this environment variable:

Value Description
auto Default behaviour
none Remove any audio tracks
silence Replace the audio track with silence or adds an empty AAC audio track
aac Transcode the audio track to AAC or adds an empty AAC audio track
mp3 Transcode the audio track to MP3 or adds an empty MP3 audio track

In the case of silence, an audio track will be added if the incoming stream doesn’t have an audio track.

As of Restreamer version 0.4.0, this environment variable is deprecated and doesn’t have any effect.


Set a token (just a string of characters, e.g. eYIxCQpqzxr7) that is required in order to push to the RTMP server. For pushing an RTMP stream to the server you have to add the token as a key/value in the query string: rtmp:// By default the token is not set.


Whether to enable HTTPS support.


Restreamer writes some information to the console (stdout). With this environment variable you can crontrol how “chatty” Restreamer is. The different logging levels are

Value Level Description
0 MUTE No logging output
1 ERROR Only error messages will be logged
2 WARN Warnings and error messages will be logged
3 INFO Informal, warnings, and error messages will be logged
4 DEBUG Everything will be logged


Click on the running container on the left sidebar to see the logging output.


Run docker logs restreamer to see the logging output.


Set the timezone for the timestamp in the logging messages. Allowed values are valid timezone IDs. E.g. America/New_York, Europe/Berlin, …


Set this value to true and the debugging output from the GUI and FFmpeg processes will be written to a file. You can access these files through the browser in the path /debug of the Restreamer GUI, e.g. if your Restreamer GUI is running on then the debug files will be under

The logging output is very extensive. For a long running process it can use up a lot of disk space. This should only be used during development.


Set this value to true in order to create heap dumps of the Restreamer application. It needs g++, make and python to run and you have to install heapdump with npm install heapdump.

This should only be used during development.


The port for the internal node.js webserver application. This port is not exposed to the outside.

NGINX is proxying the port 8080 to 3000.

Please don’t change this value without changing it in the nginx.conf accordingly. Otherwise Restreamer will not work correctly.


Sets the enviroment for the Restreamer node.js application. Possible values are prod and dev.

This should only be used during development.


Enable either the Raspberry Pi camera (set a value of RASPICAM) or an USB camera (set a value of USBCAM) as an input video stream. Don’t set this environment variable if you want to use none of these devices.

Check out our Raspberry Pi camera guide or USB camera guide.


On a fresh Restreamer installation you can use this environment variable to set an URL for the RTSP, RTMP, or HLS source. This will also automatically start the streaming from this source. On a later restart, this environment variable will be ignored.