# System Requirements

Streamwell runs in Docker on a dedicated server that you control. The server can be hardware, virtualized, or on a cloud provider of your choosing. Linux works best as the server OS, but for smaller installations serving limited viewer numbers, macOS or Windows works great too.

Streamwell requires a solid internet connection for all participants. Networks with high congestion, packet loss or high ping times will impact the latency and playback reliability.

**Minimum Requirements**

* Linux / Windows / macOS running [Docker](https://docker.com) (x86 or ARM are both supported natively)
* Tested Linux flavours include Ubuntu, Fedora, CentOS, Rocky
* Quad-Core Intel Core i5 or better.
* 2GB RAM on linux, 8GB RAM on macOS or Windows
* 8GB disk space
* 100Mbps+ wired internet connection
* Access to your modem/router port forwarding settings

**Recommended**

* Ubuntu 22.04&#x20;
* 1Gbps or better wired internet connection
* 4 dedicated cores is normally sufficient for up to 100 viewers over WebRTC or 500+ HLS viewers, but more CPU power and networking overhead will be required as the number scales. We have some [performance tuning](https://docs.streamwell.net/streamwell-v1.4.10/more-information/advanced-configuration#performance-tuning) advice and can offer load tests / further assistance to customers in [support](https://docs.streamwell.net/streamwell-v1.4.10/help-and-support/support-and-pro-services).
* RAM usage remains minimal unless transcoding or serving many hundreds of viewers.

**Web Client**

* **Google Chrome** is recommended for the best experience 🥇
* **Microsoft Edge, Firefox** and **Safari** also compatible 🥈

**Default Network Ports**

* **80/443 TCP** (Web Interface HTTP/HTTPS)
* <mark style="color:green;">**3333/3334 TCP**</mark> <mark style="color:green;"></mark><mark style="color:green;">(WebRTC Playback HTTP/HTTPS)</mark>
* **1935/1936 TCP** (RTMP/RTMPS)
* <mark style="color:green;">**8000 TCP**</mark> <mark style="color:green;"></mark><mark style="color:green;">(HLS)</mark>
* <mark style="color:green;">**8001 TCP**</mark> <mark style="color:green;"></mark><mark style="color:green;">(HLS over SSL)</mark>
* <mark style="color:green;">**8080 TCP**</mark> <mark style="color:green;"></mark><mark style="color:green;">(Legacy HLS)</mark>
* <mark style="color:green;">**8081 TCP**</mark> <mark style="color:green;"></mark><mark style="color:green;">(Legacy HLS over SSL)</mark>
* **9998-9999 UDP** (SRT)
* **10010 TCP + UDP** (Stream Data)

Note on port forwarding: Only the **WHITE** coloured ports above are required to be forwarded from your router, thanks to use of an internal web proxy. The **GREEN** ports are proxied by default, and all ports can be customized using environment variables when you first start Streamwell.

Forwarding the full list of ports allows you to use all of the streaming technologies (RTMP/RTMPS/SRT/HLS) in mixed environments, meaning you can access your server via a domain name like "mystreamwell.com" as well as on the local network IP (e.g. 192.168.0.100).&#x20;

If you are installing Streamwell right now and you are feeling unsure of which ports you need to forward, please [contact support](mailto:support@streamwell.net) for guidance.
