diff --git a/owncast/arm/Dockerfile b/owncast/arm/Dockerfile new file mode 100644 index 0000000..80f9479 --- /dev/null +++ b/owncast/arm/Dockerfile @@ -0,0 +1,21 @@ +# +# Dockerfile for owncast-arm +# + +FROM arm32v7/alpine:3 +MAINTAINER EasyPi Software Foundation + +ENV OWNCAST_VERSION=0.0.5 +ENV OWNCAST_FILE=owncast-$OWNCAST_VERSION-linux-arm7.zip +ENV OWNCAST_URL=https://github.com/owncast/owncast/releases/download/v$OWNCAST_VERSION/$OWNCAST_FILE + +WORKDIR /app + +RUN set -xe \ + && apk add --no-cache curl ffmpeg ffmpeg-libs \ + && ln -s /lib/libc.musl-armv7.so.1 /lib/ld-linux-armhf.so.3 \ + && curl -sSLO $OWNCAST_URL \ + && unzip $OWNCAST_FILE \ + && rm $OWNCAST_FILE + +CMD ["/app/owncast"] diff --git a/owncast/arm/data/config.yaml b/owncast/arm/data/config.yaml new file mode 100644 index 0000000..db36bfe --- /dev/null +++ b/owncast/arm/data/config.yaml @@ -0,0 +1,79 @@ +# You can specific the path to a specific ffmpeg binary. +ffmpegPath: /usr/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/arm/docker-compose.yml b/owncast/arm/docker-compose.yml new file mode 100644 index 0000000..b2f969e --- /dev/null +++ b/owncast/arm/docker-compose.yml @@ -0,0 +1,11 @@ +version: "3.8" +services: + owncast: + image: easypi/owncast-arm + command: /app/owncast --configFile=/data/config.yaml --database=/data/chat.db + ports: + - "1935:1935" + - "8080:8080" + volumes: + - ./data:/data + restart: unless-stopped