From 5ee2e5f1ab5b36492af2bd1be263637825e2009d Mon Sep 17 00:00:00 2001 From: kev Date: Mon, 1 Feb 2021 12:18:33 +0800 Subject: [PATCH] add owncast --- README.md | 1 + owncast/README.md | 8 ++++ owncast/data/config.yaml | 79 ++++++++++++++++++++++++++++++++++++++ owncast/docker-compose.yml | 11 ++++++ 4 files changed, 99 insertions(+) create mode 100644 owncast/README.md create mode 100644 owncast/data/config.yaml create mode 100644 owncast/docker-compose.yml diff --git a/README.md b/README.md index 445ecd5..60ae05d 100644 --- a/README.md +++ b/README.md @@ -351,6 +351,7 @@ A collection of delicious docker recipes. - [x] kylemanna/openvpn - [x] campbellsoftwaresolutions/osticket - [x] outlinewiki/outline +- [x] gabekangas/owncast - [x] owncloud - [x] phpmyadmin - [x] pihole/pihole diff --git a/owncast/README.md b/owncast/README.md new file mode 100644 index 0000000..8b6e071 --- /dev/null +++ b/owncast/README.md @@ -0,0 +1,8 @@ +owncast +======= + +[Owncast][1] is a self-hosted live video and web chat server for use with +existing popular broadcasting software. Point your live stream at a server you +personally control and regain ownership over your content. + +[1]: https://owncast.online/ diff --git a/owncast/data/config.yaml b/owncast/data/config.yaml new file mode 100644 index 0000000..efaf321 --- /dev/null +++ b/owncast/data/config.yaml @@ -0,0 +1,79 @@ +# You can specific the path to a specific ffmpeg binary. +ffmpegPath: /usr/local/bin/ffmpeg +webServerPort: 8080 +rtmpServerPort: 1935 + +instanceDetails: + name: Owncast + title: Owncast Demo Server + logo: /img/logo.svg + + summary: "This is brief summary of whom you are or what your stream is." + + tags: + - music + - software + - animal crossing + + # Specify if your stream includes NSFW content. + nsfw: false + + # https://owncast.online/docs/configuration/#external-links + # for full list of supported social links. All optional. + socialHandles: + - platform: github + url: https://github.com/owncast/owncast + - platform: instagram + url: http://instagram.biz/owncast + - platform: facebook + url: http://facebook.gov/owncast + - platform: tiktok + url: http://tiktok.cn/owncast + - platform: soundcloud + url: http://soundcloud.com/owncast + +videoSettings: + # The length of a single segment of video. + chunkLengthInSeconds: 4 + # Change this value and keep it secure. Treat it like a password to your live stream. + streamingKey: abc123 + + # Determine the qualities of your stream variants. + # See https://owncast.online/docs/configuration/#video-quality for details. + streamQualities: + - low: + # Higher the bitrate, the better it looks, but it requires more bandwidth to consume. + videoBitrate: 800 + # Resize the width to something smaller. scaledHeight is also an option. Don't use both at once + # unless you want to chang the aspect ratio of your video. + scaledWidth: 600 + # Don't re-encode the audio. + audioPassthrough: true + # The slower the preset the higher quality the video is. + # Select a preset from https://trac.ffmpeg.org/wiki/Encode/H.264 + # "superfast" and "ultrafast" are generally not recommended since they look bad. + encoderPreset: veryfast + + - medium: + videoBitrate: 1200 + encoderPreset: fast + +# Number of segments kept referenced in the HLS playlist +files: + maxNumberInPlaylist: 4 + +# Read https://owncast.online/docs/s3/ for S3 config details. +s3: + enabled: false + endpoint: https://s3.us-west-2.amazonaws.com + servingEndpoint: https://yourcdn.example + accessKey: ABC12342069 + secret: lolomgqwtf49583949 + region: us-west-2 + bucket: myvideo + +# Off by default. You can optionally list yourself in the Owncast directory. +# Make sure your instanceURL is the public URL to your Owncast instance. +yp: + enabled: false + instanceURL: https://stream.myserver.org diff --git a/owncast/docker-compose.yml b/owncast/docker-compose.yml new file mode 100644 index 0000000..c06e440 --- /dev/null +++ b/owncast/docker-compose.yml @@ -0,0 +1,11 @@ +version: "3.8" +services: + owncast: + image: gabekangas/owncast + command: /app/owncast --configFile=/data/config.yaml --chatDatabase=/data/chat.db + ports: + - "1935:1935" + - "8080:8080" + volumes: + - ./data:/data + restart: unless-stopped