Raspberry Pi / ARM
Install and run Restreamer on a Raspberry Pi 3, P 4, or other devices with an ARMv6, ARMv7, or ARMv8 CPU in a Docker container.
After installation, control the restreamer in any browser using the IP and port of the device with the path /ui.


  • Raspberry Pi 3 or Pi 4
  • ARM CPU with arm32v7 or arm64v8 architecture.

Verified Raspberry Pi models

  • Raspberry Pi 3 Mod. A+
  • Raspberry Pi 3 Model B+
  • Raspberry Pi 4 Mod. B
Alternative single-board computers with enough power are e.g., ODROID or from the manufacturer Pine64.


Step 1: Install Docker

If you are already using Docker, skip this step.
  1. 1.
    Install the latest Raspberry Pi OS-Image on memory card.
  2. 2.
    Log in to the Pi and install Docker according to the Debian installation guide for armhf.​


Step 2: Start the Restreamer

Start with hardware support for arm32v7
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config \
-v /opt/restreamer/data:/core/data \
-p 8080:8080 -p 8181:8181 -p 1935:1935 \
--privileged \
Start without hardware support for arm32v7 and arm64v8
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config \
-v /opt/restreamer/data:/core/data \
-p 8080:8080 -p 8181:8181 -p 1935:1935 \
For security reasons, start the restreamer only with --priviliged if you need hardware support.

Step 3: Open the Restreamer

Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Raspberry Pi Camera

Please check out our guide: How do I stream a RaspiCam?​

Important: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup.

Description of the most important commands for the use of environments

-d Deletes the container. This means that the container is executed in the background. You can run it interactively in the foreground with -it instead of -d. To stop the restreamer in detached mode, type docker stop restreamer. In interactive mode, simply press Ctrl-C to stop the restreamer.
--name restreamer Set the container the name restreamer. This name can be used in other Docker commands to control the container. For example, to stop the Restreamer, type docker stop restreamer. While the Restreamer is running, you can log into the container with docker exec -it restreamer /bin/bash.
--restart=always If the Restreamer crashes or the device reboots, Docker restarts the Restreamer automatically.
-p 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.
-p 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.
-p 1935:1935 Binds port 1935 of the computer to port 1935 of the restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.
-v ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config
-v ${HOME}/restreamer/data:/core/data The restreamer stores the internal file system persistently in this directory.
datarhei/restreamer:rpi-latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables
External URL: All Environment variables on GitHub.

Learn more