owncast.online
Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.
Ports
Add an allocation on the node for each port.
- Webserver 8090
- RTMP 8091
Install
- Installer image
- ghcr.io/ptero-eggs/installers:debian
- Install script
- 51 lines
Image
- Debian ghcr.io/pterodactyl/yolks:debian
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
7 variables
Startup command
./owncast -webserverport 8090 -rtmpport 8091 -streamkey {{STREAM_KEY}}Dotted values come from the server settings. These values are examples.
The port that is used to receive the stream data.
RTMP_PORTUsers can see
required|integer
This is used to authenticate to the web admin interface, as well as to authenticate your stream.
STREAM_KEYUsers can edit
required|string|min:32|max:128A value is required.
The version of Owncast that you would like to install, from https://github.com/owncast/owncast/releases As an Example - "v0.0.11" for a specific version or "latest" for the most up to date version.
VERSIONUsers can edit
required|string|max:20
Used to identify the github repository to pull the release from.
GITHUB_PACKAGEUsers cannot see
required|string|max:120
Used to identify the specific asset under a release for download.
MATCHUsers cannot see
required|string|max:20
Required if you are doing more calls than the github anonymous API user allows.
GITHUB_USERUsers cannot see
nullable|string|max:20
Required if you are doing more calls than the github anonymous API user allows.
GITHUB_OAUTH_TOKENUsers cannot see
nullable|string|max:128
Wings
- Stop command
- ^C (SIGINT)
- Running when the console shows
- The web admin interface is available at /admin.
Readme
Owncast
From the Owncast website
Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.
Installation
Follow the common egg installation guide to install the egg on your Pterodactyl instance. When setting up a server, the version set in the varaible will be used, default is 0.0.11.
Configuration
Configuring Owncast in Pterodactyl can be done by using the command line switches:
- -backupdir string
- Directory where backups will be written to
- -database string
- Path to the database file.
- -enableDebugFeatures
- Enable additional debugging options.
- -enableVerboseLogging
- Enable additional logging.
- -logdir string
- Directory where logs will be written to
- -restoreDatabase string
- Restore an Owncast database backup
- -rtmpport int
- Set listen port for the RTMP server
- -streamkey string
- Set your stream key/admin password
- -webserverip string
- Force web server to listen on this IP address
- -webserverport string
- Force the web server to listen on a specific port
Update support
The egg should keep the data folder when reinstalling, to prevent destroying the configuration by accident.
If you want to reset the server completly, remove the data directory manually before reinstalling.
Server Ports
Ports required to run the server in a table format.
| Port | default |
|---|---|
| Webserver | 8090 |
| RTMP | 8091 |
Changes
- fix docker images path
· Daniel Barton · 7d2b714
- Replace docker images
· Daniel Barton · 3759ed6
- Add software
· rowansc1 · 9b56a00
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 51 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/bin/bash
#Make Server Dir
if [ ! -d /mnt/server/ ]; then
mkdir /mnt/server/
fi
cd /mnt/server/
#Get Dependencies
apt-get -y update
apt-get -y install curl unzip tar jq
#Get Owncast Install Files
if [ -z "${GITHUB_USER}" ] && [ -z "${GITHUB_OAUTH_TOKEN}" ] ; then
echo -e "using anon api call"
else
echo -e "user and oauth token set"
alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '
fi
## get release info and download links
LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
else
echo -e "defaulting to latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
fi
fi
echo Download URL is: ${DOWNLOAD_URL}
curl -L ${DOWNLOAD_URL} --output ./owncast_installer.zip
#curl -L https://github.com/owncast/owncast/releases/download/v${OWNCAST_VERSION}/owncast-${OWNCAST_VERSION}-linux-64bit.zip --output ./owncast_installer.zip
#Unzip Install Files
unzip -o -q ./owncast_installer.zip
rm ./owncast_installer.zip
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"