{"meta":{"slug":"pterodactyl-owncastonline","name":"Pterodactyl Owncastonline","category":"owncast","source":"pelican","owner":"pelican-eggs","repo":"software","branch":"main","path":"owncast/egg-pterodactyl-owncastonline.json","rawUrl":"https://raw.githubusercontent.com/pelican-eggs/software/main/owncast/egg-pterodactyl-owncastonline.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"version":"PTDL_v2","update_url":null},"exported_at":"2026-01-03T18:57:38+00:00","name":"Owncast.online","author":"psychoalex@thevcbc.com","description":"Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.","features":null,"docker_images":{"Debian":"ghcr.io/pelican-eggs/yolks:debian"},"file_denylist":[],"startup":"./owncast -webserverport {{SERVER_PORT}} -rtmpport {{RTMP_PORT}} -streamkey {{STREAM_KEY}}","config":{"files":"{}","startup":"{\n    \"done\": \"Configure this server by visiting /admin.\"\n}","logs":"{}","stop":"^C"},"scripts":{"installation":{"script":"#!/bin/bash\r\n\r\n#Make Server Dir\r\nif [ ! -d /mnt/server/ ]; then\r\n    mkdir /mnt/server/\r\nfi\r\ncd /mnt/server/\r\n\r\n#Get Owncast Install Files\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n    echo -e \"using anon api call\"\r\nelse\r\n    echo -e \"user and oauth token set\"\r\n    alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest\")\r\nRELEASES=$(curl --silent \"https://api.github.com/repos/${GITHUB_PACKAGE}/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n    DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n    VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n    if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n        DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n    else\r\n        echo -e \"defaulting to latest release\"\r\n        DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n    fi\r\nfi\r\n\r\necho Download URL is: ${DOWNLOAD_URL}\r\n\r\ncurl -L ${DOWNLOAD_URL} --output ./owncast_installer.zip\r\n\r\n#curl -L https://github.com/owncast/owncast/releases/download/v${OWNCAST_VERSION}/owncast-${OWNCAST_VERSION}-linux-64bit.zip --output ./owncast_installer.zip\r\n\r\n#Unzip Install Files\r\nunzip -o -q ./owncast_installer.zip\r\nrm ./owncast_installer.zip\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"","container":"ghcr.io/pelican-eggs/installers:debian","entrypoint":"bash"}},"variables":[{"name":"Github Oauth Token","description":"Required if you are doing more calls than the github anonymous API user allows.","env_variable":"GITHUB_OAUTH_TOKEN","default_value":"","user_viewable":false,"user_editable":false,"rules":"nullable|string|max:128","field_type":"text"},{"name":"Github Repository","description":"Used to identify the github repository to pull the release from.","env_variable":"GITHUB_PACKAGE","default_value":"owncast/owncast","user_viewable":false,"user_editable":false,"rules":"required|string|max:120","field_type":"text"},{"name":"Github User","description":"Required if you are doing more calls than the github anonymous API user allows.","env_variable":"GITHUB_USER","default_value":"","user_viewable":false,"user_editable":false,"rules":"nullable|string|max:20","field_type":"text"},{"name":"Github File Match","description":"Used to identify the specific asset under a release for download.","env_variable":"MATCH","default_value":"linux-64bit","user_viewable":false,"user_editable":false,"rules":"required|string|max:20","field_type":"text"},{"name":"RTMP Port","description":"The port that is used to receive the stream data.","env_variable":"RTMP_PORT","default_value":"8091","user_viewable":true,"user_editable":false,"rules":"required|integer","field_type":"text"},{"name":"Stream/Admin Key","description":"This is used to authenticate to the web admin interface, as well as to authenticate your stream.","env_variable":"STREAM_KEY","default_value":"","user_viewable":true,"user_editable":true,"rules":"required|string|min:32|max:128","field_type":"text"},{"name":"Owncast Version","description":"The version of Owncast that you would like to install, from https://github.com/owncast/owncast/releases\r\nAs an Example - \"v0.0.11\" for a specific version or \"latest\" for the most up to date version.","env_variable":"VERSION","default_value":"latest","user_viewable":true,"user_editable":true,"rules":"required|string|max:20","field_type":"text"}]},"readme":"# Owncast\n\n## From the [Owncast](https://owncast.online) website\n\nOwncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.\n\n## Installation\n\nFollow the common egg installation guide to install the egg on your Pelican instance.\nWhen setting up a server, the version set in the varaible will be used, default is 0.0.11.\n\n## Configuration\n\nConfiguring Owncast in Pelican can be done by using the command line switches:\n* -backupdir string\n\t* Directory where backups will be written to\n* -database string\n\t* Path to the database file.\n* -enableDebugFeatures\n\t* Enable additional debugging options.\n* -enableVerboseLogging\n\t* Enable additional logging.\n* -logdir string\n\t* Directory where logs will be written to\n* -restoreDatabase string\n\t* Restore an Owncast database backup\n* -rtmpport int\n\t* Set listen port for the RTMP server\n* -streamkey string\n\t* Set your stream key/admin password\n* -webserverip string\n\t* Force web server to listen on this IP address\n* -webserverport string\n\t* Force the web server to listen on a specific port\n\n\n\n## Update support\n\nThe egg _should_ keep the `data` folder when reinstalling, to prevent destroying the configuration by accident.\n\nIf you want to reset the server completly, remove the `data` directory manually before reinstalling.\n\n### Server Ports\n\nPorts required to run the server in a table format.\n\n| Port            | default |\n| --------------- | ------- |\n| Webserver \t  | 8090    |\n| RTMP \t\t\t  | 8091 \t|\n"}