# Setup Renderserver

## Requirements

See the [Requirements](05%20Requirements.md#render-server) page for the render server hardware and operating system requirements.

## Sample Cloud and On-Premises Setups

The following examples show some possible hardware configurations for the render server in cloud and on-premises environments.
Multiple render servers can be used on one Portal for load balancing.

### Oracle

For approximately 8-10 simultaneous streams:

Oracle `VM.GPU3.1` with `16 GB` GPU VRAM, or `2 × VM.GPU2.1 / 2.x`.
For higher stream counts, scaling up to `VM.GPU3.x` is recommended.

### Azure

For approximately 8-10 simultaneous streams:

Minimum: `Standard_NV24s_v3` (`16 GB` VRAM).

Recommended for more streams:

`Standard_NV48s_v3` (`M60`, `32 GB` VRAM) or `Standard_NV36ads_A10_v5` (`24 GB` VRAM).

### AWS

For approximately 8-10 simultaneous streams:

AWS EC2 `G3` with `2` GPUs (`16 GB` VRAM).
For more streams, an AWS EC2 `G5` instance is recommended with multiple GPUs.

### On-Premises

NVIDIA GPU, for example `RTX 5000` or `A4500`, with `2 GB` VRAM and `4 GB` RAM per stream.
Minimum `8` CPU cores. The final setup may vary depending on the use case.

## Setup Renderservice

Click **Next**.

![Setup](media/RenderServerInstallation_01_setup.png)

To continue with the installation, accept the EULA and click **Next**.

![EULA](media/RenderServerInstallation_02_EULA.png)

Enter an installation location or use the default location.

![Location](media/RenderServerInstallation_03_Location.png)

Enter a name for the Watchdog so that it can be identified later.
Then enter the UDiTH Portal URL, `https://<alias/(sub)domain>/Portal`, together with the **Signaling API Credential**. This is the client secret of the `signaling-api` client in Keycloak, which is automatically created during Portal installation. You can find it in the Keycloak admin console under **Clients → signaling-api → Credentials**.
If batch mode is enabled, no UDiTH windows are shown during execution. If **Ignore certificate errors** is enabled, invalid certificates from the Portal are also accepted.

![Setting](media/RenderServerInstallation_04_Setting.png)

Start the installation by clicking **Install**.

![StartInstall](media/RenderServerInstallation_05_StartInstall.png)

Click **Finish** to complete the installation. If the checkbox is selected, the render server starts automatically.

![Finish](media/RenderServerInstallation_06_Finish.png)

## Environment Variables

The render server's behaviour can be adjusted via environment variables.

| Variable | Description |
|----------|-------------|
| `UDITH_APPCONTROL_DISABLEGPU` | Disables GPU (hardware) acceleration for AppControls. GPU acceleration is enabled by default but can cause issues on some render servers. Set the variable to `true` (case-insensitive) to disable it. Note that disabling GPU acceleration breaks WebGL apps and can make very heavy apps slower, although small apps may run faster. |

## Security

The user account used to run Renderserver should be a low-privilege user.
