# Owncast 0.3.0: a live video server whose instance is one ActivityPub actor (a Service): people follow it, it tells them # when it goes live and posts what its admin sends, and their likes, boosts and follows show in its admin. As # owncast.test, its data in its own volume; Go trusts the bundle the pasture mounts over the system one. Federation is # turned on through its admin API (admin / abc123, its default), with the server's address and the actor's name. OWNCAST_IMAGE=${OWNCAST_IMAGE:-docker.io/owncast/owncast:0.3.0} owncast_up() { podman volume exists pasture-owncast || podman volume create --label pasture=1 pasture-owncast >/dev/null podman run -d --replace --name pasture-owncast --label pasture=1 --network $net -v pasture-owncast:/app/data \ -v "$ca/bundle.pem:/etc/ssl/certs/ca-certificates.crt:z,ro" $OWNCAST_IMAGE >/dev/null for _ in $(seq 1 60); do site owncast.test -s -o /dev/null -w '%{http_code}' https://owncast.test:6443/api/status 2>/dev/null | grep -q 200 && break sleep 1 done owncast_admin config/serverurl '"https://owncast.test"' owncast_admin config/federation/username '"owncast"' owncast_admin config/federation/enable 'true' echo "owncast: https://owncast.test:6443" } # owncast_admin : an admin API change, {"value": ...} owncast_admin() { site owncast.test -s -o /dev/null -u admin:abc123 -X POST "https://owncast.test:6443/api/admin/$1" -H 'Content-Type: application/json' -d "{\"value\":$2}"; }