# Windows

{% hint style="success" %} <mark style="background-color:green;">After installation, control the Restreamer in any browser using the IP and port of the device with the path /ui.</mark>
{% endhint %}

## Preparation

### Step 1: Install Docker Desktop

Download, install and run [Docker Desktop](https://www.docker.com/products/docker-desktop/). Follow the installation instructions. **If you are already using Docker Desktop and installed WSL 2, skip to Step 4.**

### Step 2: WSL 2 installation

To make the Restreamer container compatible with Windows, installing the Linux kernel update is necessary. The instructions are available on [Microsoft](https://learn.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package) and [Docker](https://docs.docker.com/desktop/windows/wsl/) websites. **We recommend using the Debian or Ubuntu package**. Follow the instructions, and there will be no problems.

<figure><img src="https://304400748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MS3qj4cW170AMeE1ckj-1703796690%2Fuploads%2FO6r1ZkfGgM4tWi6Gv3qa%2Fdocker-win-inst-wsl2.jpg?alt=media&#x26;token=0213bae1-4e5a-4aeb-8fd9-360c2d0e9333" alt=""><figcaption><p><strong>Fig 1.</strong> WSL 2 notice in Docker Desktop </p></figcaption></figure>

<div><figure><img src="https://304400748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MS3qj4cW170AMeE1ckj-1703796690%2Fuploads%2FhVGQPr5SXK8COcyb6MK8%2Fdocker-win-inst-debian.jpg?alt=media&#x26;token=646585f3-4dfe-4698-9558-6f7897eb4348" alt=""><figcaption><p><strong>Fig 2.</strong> Debian Image in Windows-App-Store</p></figcaption></figure> <figure><img src="https://304400748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MS3qj4cW170AMeE1ckj-1703796690%2Fuploads%2FLofU9YX7PF7Mu0CXuGMD%2Fdocker-win-inst-ressources.jpg?alt=media&#x26;token=e753e170-27b7-478b-9c2d-a01e7181a72c" alt=""><figcaption><p><strong>Fig 3.</strong> Docker Desktop settings with Debian</p></figcaption></figure></div>

### Step 3: Docker Desktop settings

Go to the Docker Desktop settings to enable the Linux distro integration.

{% hint style="danger" %}
After the steps, we recommend rebooting the computer.
{% endhint %}

## Start Restreamer container in Docker Desktop

### Step 4: Pull the container with the Restreamer

Open the command-line PowerShell for Windows and load the [latest Restreamer](https://hub.docker.com/r/datarhei/restreamer) cotainer from Docker Hub. Use the command:

```
docker pull datarhei/restreamer:latest
```

<figure><img src="https://304400748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MS3qj4cW170AMeE1ckj-1703796690%2Fuploads%2FFeNmK5PQPdopfJqP5DIi%2Fdocker-win-inst-pull.jpg?alt=media&#x26;token=539ddafc-b770-4ed2-92ea-3b8678f59153" alt=""><figcaption><p>Fig 4. Docker pull command in PowerShell</p></figcaption></figure>

### Step 5: Run Restreamer Container

Start Docker Desktop and go to *Images.* The Restreamer is in the list. A click on RUN takes you to the next step.

<figure><img src="https://304400748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MS3qj4cW170AMeE1ckj-1703796690%2Fuploads%2FxAvu3Vp5KxIJonlQsjJa%2Fdocker-win-inst-image.jpg?alt=media&#x26;token=5230670b-5799-49aa-8470-a0841a5af924" alt=""><figcaption><p><strong>Fig 6.</strong> Docker Desktop with Restreamer Image </p></figcaption></figure>

### Step 6: Configurate your Restreamer container and start

The next step is to set the container's name, the ports for access in the browser, and the video data. Finally, place the volume settings so that the login data and the restreamer are permanently saved! Otherwise, the settings and login data will be gone with the next update. Click **Run** to start the Restreamer for the first time.

* **Name** A logical name helps to find the container again.
* **Ports** Transfer the numbers from the **Container Ports** field to the empty areas on the left.
* **Volumes** Choose a folder on the windows machine where you want to store the settings and configuration of the restreamer permanently. The **Destination path** is <mark style="background-color:green;">/core/config</mark> and <mark style="background-color:green;">/core/data</mark>.

<figure><img src="https://304400748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MS3qj4cW170AMeE1ckj-1703796690%2Fuploads%2FhGxf7W5h6z74WPzFtyUq%2Fdocker-inst-config.jpg?alt=media&#x26;token=5de21d88-7708-4c00-8a62-a4dcfbf2a4e0" alt=""><figcaption><p><strong>Fig 7.</strong> Restreamer Desktop settings with ports and path on volume</p></figcaption></figure>

### Step 7: Open Browser to login

Click on the 8080:8080 opens the default browser with the Restreamer front door. You can otherwise also open a browser and enter the device's IP address with the Restreamer installed. In the example: <http://device-ip:8080/ui>

<figure><img src="https://304400748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MS3qj4cW170AMeE1ckj-1703796690%2Fuploads%2Fpvzig3HzhhH2WVj258gF%2Fdocker-container-success.jpg?alt=media&#x26;token=7d0335f8-98ee-4537-a757-07a135e41b44" alt=""><figcaption><p><strong>Fig 8.</strong> Active Restreamer container in Docker Desktop. </p></figcaption></figure>

### Step 8. First login

When you log in for the first time in your Restreamer, you have to enter your credentials.

{% content-ref url="../knowledge-base/manual/login" %}
[login](https://docs.datarhei.com/restreamer/knowledge-base/manual/login)
{% endcontent-ref %}

## Additional information: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup. They are admittedly not so essential for Docker Desktop, but it does not hurt if you know them!

#### Description of the most important commands for the use of environments

**-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.

**-p 1936:1936** Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

**-p 6000/udp**  Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, 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: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

{% embed url="<https://github.com/datarhei/core#environment-variables>" %}
**External URL:** All Environment variables on GitHub.
{% endembed %}

## Learn more

{% content-ref url="../knowledge-base/user-guides/how-do-i-install-docker" %}
[how-do-i-install-docker](https://docs.datarhei.com/restreamer/knowledge-base/user-guides/how-do-i-install-docker)
{% endcontent-ref %}

{% content-ref url="../knowledge-base/user-guides/how-does-port-forwarding-work-for-the-restreamer" %}
[how-does-port-forwarding-work-for-the-restreamer](https://docs.datarhei.com/restreamer/knowledge-base/user-guides/how-does-port-forwarding-work-for-the-restreamer)
{% endcontent-ref %}

{% content-ref url="../knowledge-base/user-guides/how-can-i-use-https-with-lets-encrypt" %}
[how-can-i-use-https-with-lets-encrypt](https://docs.datarhei.com/restreamer/knowledge-base/user-guides/how-can-i-use-https-with-lets-encrypt)
{% endcontent-ref %}

{% content-ref url="../knowledge-base/faq/what-are-environment-variables" %}
[what-are-environment-variables](https://docs.datarhei.com/restreamer/knowledge-base/faq/what-are-environment-variables)
{% endcontent-ref %}

{% content-ref url="../knowledge-base" %}
[knowledge-base](https://docs.datarhei.com/restreamer/knowledge-base)
{% endcontent-ref %}

{% content-ref url="../api" %}
[api](https://docs.datarhei.com/restreamer/api)
{% endcontent-ref %}

{% content-ref url="../premium-support-1" %}
[premium-support-1](https://docs.datarhei.com/restreamer/premium-support-1)
{% endcontent-ref %}
