With complaints of inconsistent moderation standards plaguing social networks, many are looking to host their own data:
- Blogs with WordPress, Drupal, etc.
- Social media instances such as Mastodon
- Video sharing sites like PeerTube
And now there’s a self-hosted Twitch alternative – Owncast, a decentralized, single user live video streaming and chat server application. The setup process is painless, arguably fun. All you need is root access to your Linux VPS.
- Install Owncast
- Use the Owncast Twitch Alternative
- Log into SSH.
- Navigate to the directory you want to install Owncast (e.g. /opt or /root).
- Run the installation script:
curl -s https://owncast.online/install.sh | bash
- To run the Twitch alternative automatically upon system reboots, skip to step 6. To start Owncast manually, navigate to the Owncast directory:
- Start Owncast:
When you close the terminal session, Owncast will close. Skip to step 11.
- Create a service file:
- Add the following data:
Update the working directory to the full file path for where you installed Owncast. Update the “ExecStart” to the full file path to the Owncast executable file.
- Save the file.
- Enable Owncast to start automatically and start it:
sudo systemctl enable owncast && sudo systemctl start owncast
- Update the Systemd daemon:
sudo systemctl daemon-reload
- Ensure ports 8080 and 1935 are open in your firewall.
Additional Server Configuration
Install a free Let’s Encrypt SSL certificate with Certbot for greater security.
Create a web proxy with NGINX to negate the need to use the port number for the URL.
Use the Owncast Twitch Alternative
Open your Owncast instance in the web browser (e.g. example.com:8080).
- Select the username in the upper right corner to change it
- Select the chat icon to the right to hide the text chatroom (chatroom is enabled during live streams)
- Scroll down with the mouse wheel or PgDn key to view the page content under the video stream
Owncast Admin Settings
Open your Owncast admin dashboard in another browser tab (e.g. example.com:8080/admin). The default admin username and password are “admin” and “abc123” respectively.
To change your password, select “Configuration” and “Server Setup” on the left. The stream key is your admin password. Type a strong password and select “Update” on the right. You’ll then need to login again.
Here you can also change the Owncast instance and Real-Time Messaging Protocol (RTMP) ports. RTMP accepts inbound streams on port 1935 by default.
To update the stream page content, select “Configuration” and “General.”
Update the following:
- Owncast instance name
- Server URL (required to be listed in the https://directory.owncast.online/)
- “About” description about your live streaming
- Logo (also a placeholder when there’s no video stream)
- Whether you want your instance listed publicly in the Owncast directory
- Whether you’re live streaming NSFW content
On the right you should add applicable tags to help potential viewers find your instance when listed publicly. Don’t forget to add your social media handles.
At the bottom you can customize the page content in the Markdown markup language and add custom CSS to further improve branding efforts for your instance. Don’t forget to save changes.
To set up broadcasting, select “Configuration” and “Video configuration.” Specify the stream output, latency buffer appropriate for your hosting plan, and codec.
Your RTMP endpoint URL is “rtmp://OwncastURL/live” or “rtmp://OwncastURL/live/StreamingKey” if your broadcasting software lacks a separate text field for the streaming key.
If you need a broadcasting application to feed Owncast, we recommend one of the following:
- Install Open Broadcaster Software (OBS) on your computer
- Install Jitsi Meet on a cloud server
- Create a Jitsi Meeting with the free Meet.jit.si web application (no account required)