Minio

If you want to host the video segments on a self hosted S3 compatible MinIO server, you get even more control over your data.

Bucket

Create a bucket, e.g. with the MinIO client by

  • get the two strings [YOUR-ACCESS-KEY] and [YOUR-SECRET-KEY] from your MinIO deployment. (Sometimes they are referred to as ROOT USER and KEY)
  • add an alias mc alias set <ALIAS> <YOUR-S3-ENDPOINT> [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]
  • create a new bucket mc mb <ALIAS>/stream
  • allow downloading from bucket mc policy set download <ALIAS>/stream

CORS

Make sure to allow access to the buckets file from your owncast domain. You require GET and OPTIONS methods.

Owncast Config

To point your owncast instance to the MinIO storage, configure the s3 section as

s3:
  enabled: true
  endpoint: https://<s3-storage.your.org>
  servingEndpoint: https://<s3-storage.your.org>/stream
  accessKey: <KEY>
  secret: <SECRET>
  bucket: stream 
  region: anywhere

The servingEndpoint is required as MinIO does not support subdomain based access out of the box.