Owncast joins the pasture with federation turned on through its admin API; scenarios/owncast.sh has alice follow the stream, receive its admin's message, like and boost it (both show in Owncast's admin), and unfollow: 13 checks, with no change to PrivaPub. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
23 lines
1.4 KiB
Bash
23 lines
1.4 KiB
Bash
# 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 <path> <json value>: 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}"; }
|