Files
thepraandClaude Opus 5.5 40217f3261 Pasture: PeerTube joins, and its videos play through us
PeerTube 8.3.1 runs on the shared Postgres and Redis, transcoding off. Its
scenario passes 24 checks: a persona follows a channel; a new video comes as
the channel's Announce and reaches the persona's home as a boost, playable
through the media proxy with byte ranges; comments both ways thread; a like
and its undo count; renaming and deletion arrive; the unfollow; statistics.

The town's seeder also takes reruns on the same accounts in its stride: a
Lemmy community already made is found, a circle member already approved
asks nothing again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
2026-10-05 03:52:29 +02:00

60 lines
1.8 KiB
Bash

# Iceshrimp.NET (2026.1): the strict one. AuthorizedFetch on (every fetch from it is signed, and it answers unsigned
# reads 401), full JSON-LD expansion that drops undefined terms, several reactions per user. .NET, so it trusts Caddy's CA
# through SSL_CERT_FILE. On the shared Postgres (database iceshrimp); the town makes its users through its own API.
ICESHRIMP_IMAGE=${ICESHRIMP_IMAGE:-iceshrimp.dev/iceshrimp/iceshrimp.net:v2026.1.2-beta}
. "$here/peers/shared.sh"
iceshrimp_up() {
shared_postgres_up
pg_db iceshrimp
mkdir -p "$here/.state/iceshrimp/media"
cat > "$here/.state/iceshrimp/configuration.ini" <<'INI'
[Instance]
ListenPort = 3000
ListenHost = 0.0.0.0
WebDomain = iceshrimp.test
AccountDomain = iceshrimp.test
CharacterLimit = 8192
[Security]
AuthorizedFetch = true
ValidateRequestSignatures = true
AllowLoopback = true
AllowLocalIPv4 = true
AllowLocalIPv6 = true
Registrations = Open
FederationMode = BlockList
PublicPreview = Public
[Database]
Host = postgres
Port = 5432
Database = iceshrimp
Username = pasture
Password = pasture
MaxConnections = 50
[Storage]
Provider = Local
MaxUploadSize = 100M
ProxyRemoteMedia = true
[Storage:Local]
Path = /app/media
[Logging:LogLevel]
Default = Information
Microsoft.AspNetCore = Warning
Microsoft.EntityFrameworkCore = Warning
INI
chmod -R a+rwX "$here/.state/iceshrimp"
podman run -d --replace --name pasture-iceshrimp --network $net -e SSL_CERT_FILE=/pasture/ca/bundle.pem \
-v "$here/.state/iceshrimp/configuration.ini:/app/configuration.ini:z,ro" -v "$here/.state/iceshrimp/media:/app/media:z" \
-v "$ca:/pasture/ca:z,ro" $ICESHRIMP_IMAGE >/dev/null
for _ in $(seq 1 90); do
site iceshrimp.test -s -o /dev/null -w '%{http_code}' https://iceshrimp.test:6443/api/v1/instance 2>/dev/null | grep -q 200 && break
sleep 2
done
echo "iceshrimp: https://iceshrimp.test:6443"
}