21 lines
1.5 KiB
Bash
21 lines
1.5 KiB
Bash
# aode-relay 0.3.129 (asonix): a relay that takes both kinds of subscription (Public, as Mastodon follows, or its actor,
|
|||
|
|
# as LitePub does) and passes posts on as its own Announce, as aoderelay.test. Unrestricted, so anyone may subscribe;
|
||
|
|
# its state is in its own sled database. Its TLS client reads the system's roots, over which the pasture's bundle goes.
|
||
|
|
AODERELAY_IMAGE=${AODERELAY_IMAGE:-docker.io/asonix/relay:0.3.129}
|
||
|
|
|
||
|
|
aoderelay_up() {
|
||
|
|
podman volume exists pasture-aoderelay || podman volume create --label pasture=1 pasture-aoderelay >/dev/null
|
||
|
|
podman run -d --replace --name pasture-aoderelay --label pasture=1 --network $net -v pasture-aoderelay:/var/lib/aode-relay:U \
|
||
|
|
-v "$ca/bundle.pem:/etc/ssl/certs/ca-certificates.crt:z,ro" \
|
||
|
|
-e HOSTNAME=aoderelay.test -e ADDR=0.0.0.0 -e PORT=8080 -e HTTPS=true -e RESTRICTED_MODE=false -e VALIDATE_SIGNATURES=true \
|
||
|
|
-e SLED_PATH=/var/lib/aode-relay/sled -e API_TOKEN=pasture-aoderelay-token -e PRETTY_LOG=false \
|
||
|
|
$AODERELAY_IMAGE >/dev/null
|
||
|
|
for _ in $(seq 1 60); do
|
||
|
|
site aoderelay.test -s -o /dev/null -w '%{http_code}' https://aoderelay.test:6443/actor 2>/dev/null | grep -q 200 && break
|
||
|
|
sleep 1
|
||
|
|
done
|
||
|
|
echo "aoderelay: https://aoderelay.test:6443"
|
||
|
|
}
|
||
|
|
|
||
|
|
# aoderelay_connected: the hosts subscribed to it, from its admin API
|
||
|
|
aoderelay_connected() { site aoderelay.test -s https://aoderelay.test:6443/api/v1/admin/connected -H 'X-Api-Token: pasture-aoderelay-token' | j "print('\n'.join(d.get('connected_actors', d) if isinstance(d, dict) else d))"; }
|