Note: Owncast currently does not natively support the Windows Operating System, however it is possible to run Owncast on Windows using the Windows Subsystem for Linux (WSL2).
This document is a user-contributed document and the Owncast project does not actively maintain Windows support. Hopefully this can be helpful in pointing people in the right direction.
This document list out the steps in detail to install and run Owncast in Windows using Windows Subsystem for Linux, specifically WSL2.
Below are steps both for local development, contributing to the project and running it in production.
There are lots of tutorials available online (videos and docs both) on how to install WSL2.
Here are the official documents from Microsoft -> Install Linux on Windows with WSL
Some points to remember ->
wsl --install
. If you are facing issues with this method you can look at - Manual installation steps for older versions of WSLAfter basic setup, you can look into setting WSL2 for development. Here is the link for a detailed document by Microsoft - https://learn.microsoft.com/en-us/windows/wsl/setup/environment
Once you're running WSL2 in Windows you can install Owncast the same way you would on any Linux distribution by following the Quickstart guide.
If you want to use your Windows machine to contribute to Owncast, you'll need to do so under WSL2 and make sure the following prerequisites are installed.
Here is the list for all the prerequisites required ->
sudo apt install npm
.sudo apt install nodejs
.Once your local development environment is setup, you can read more about how to contribute to Owncast by reading the development document.
To solve this issue you can look at nvm. Here is one tutorial - Node-Version-Manager.
This issue arises when you try to use rtmp://localhost:1935/live
for example in OBS.
To solve this issue you need to find the correct IP address for the WSL2 you are running and use that instead of localhost.
You can use the below commands to find that ->
Note: you can use either of these, whichever works for you.
ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
wsl -- ip -o -4 -json addr list eth0
In this result look for "local": X.X.X.XAfter finding the IP address in your broadcasting software make the server point to
rtmp://<your version of IP address>:1935/live