Smithereen joins the pasture (tools/pasture/peers/smithereen.sh): its image on the shared MySQL, with imgproxy and a file server behind Caddy, a JDK trust store with the pasture's CA, accounts from its signup form, and a password grant for a local application. scenarios/smithereen.sh drives its VKontakte-like API: friends as mutual follows, wall posts, comments, likes, reposts (quotes there), polls, edits, deletions, private messages, the unfollow and statistics, 30 checks. A post on someone else's wall never reaches PrivaPub, since Smithereen sends it only to servers whose actors publish a wall: G-0009, waiting for the owner. PrivaPub: a server description that failed (Smithereen serves no NodeInfo until it has a description) frees its week, so the server's next arrival asks again instead of a week later. The shared Postgres takes 400 connections: at 100 the village seed ran it dry (Sharkey's API answered 500, Misskey dropped deliveries). The seeder records a follow that stands from an earlier seed when the step itself fails, so the checker no longer expects that follower to see nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
133 lines
2.0 KiB
Caddyfile
133 lines
2.0 KiB
Caddyfile
{
|
|
local_certs
|
|
skip_install_trust
|
|
}
|
|
|
|
privapub.test {
|
|
tls internal
|
|
reverse_proxy pasture-privapub:80
|
|
}
|
|
|
|
gts.test {
|
|
tls internal
|
|
reverse_proxy pasture-gts:80
|
|
}
|
|
|
|
mastodon.test {
|
|
tls internal
|
|
reverse_proxy pasture-mastodon:3000
|
|
}
|
|
|
|
misskey.test {
|
|
tls internal
|
|
reverse_proxy pasture-misskey:3000
|
|
}
|
|
|
|
sharkey.test {
|
|
tls internal
|
|
reverse_proxy pasture-sharkey:3000
|
|
}
|
|
|
|
lemmy.test {
|
|
tls internal
|
|
reverse_proxy pasture-lemmy:8536
|
|
}
|
|
|
|
akkoma.test {
|
|
tls internal
|
|
reverse_proxy pasture-akkoma:4000
|
|
}
|
|
|
|
decepub.test {
|
|
tls internal
|
|
reverse_proxy pasture-decepub:80
|
|
}
|
|
|
|
hollo.test {
|
|
tls internal
|
|
reverse_proxy pasture-hollo:3000
|
|
}
|
|
|
|
iceshrimp.test {
|
|
tls internal
|
|
reverse_proxy pasture-iceshrimp:3000
|
|
}
|
|
|
|
pleroma.test {
|
|
tls internal
|
|
reverse_proxy pasture-pleroma:4000
|
|
}
|
|
|
|
peertube.test {
|
|
tls internal
|
|
reverse_proxy pasture-peertube:9000
|
|
}
|
|
|
|
pixelfed.test {
|
|
tls internal
|
|
reverse_proxy pasture-pixelfed:8080
|
|
}
|
|
|
|
wordpress.test {
|
|
tls internal
|
|
reverse_proxy pasture-wordpress:80
|
|
}
|
|
|
|
friendica.test {
|
|
tls internal
|
|
reverse_proxy pasture-friendica:80
|
|
}
|
|
|
|
mobilizon.test {
|
|
tls internal
|
|
reverse_proxy pasture-mobilizon:4000
|
|
}
|
|
|
|
gancio.test {
|
|
tls internal
|
|
reverse_proxy pasture-gancio:13120
|
|
}
|
|
|
|
funkwhale.test {
|
|
tls internal
|
|
reverse_proxy pasture-funkwhale:80
|
|
}
|
|
|
|
piefed.test {
|
|
tls internal
|
|
reverse_proxy pasture-piefed:5000
|
|
}
|
|
|
|
mbin.test {
|
|
tls internal
|
|
reverse_proxy pasture-mbin:80
|
|
}
|
|
|
|
nodebb.test {
|
|
tls internal
|
|
reverse_proxy pasture-nodebb:4567
|
|
}
|
|
|
|
smithereen.test {
|
|
tls internal
|
|
handle /i/* {
|
|
reverse_proxy pasture-smithereen-imgproxy:8080
|
|
}
|
|
handle_path /s/* {
|
|
reverse_proxy pasture-smithereen-files:80
|
|
}
|
|
handle {
|
|
reverse_proxy pasture-smithereen:4567
|
|
}
|
|
}
|
|
|
|
lemmy19.test {
|
|
tls internal
|
|
reverse_proxy pasture-lemmy19:8536
|
|
}
|
|
|
|
flood1.test, flood2.test, flood3.test, flood4.test, flood5.test, flood6.test, flood7.test, flood8.test, flood9.test, flood10.test, flood11.test, flood12.test, flood13.test, flood14.test, flood15.test, flood16.test, flood17.test, flood18.test, flood19.test, flood20.test {
|
|
tls internal
|
|
reverse_proxy pasture-flood:8080
|
|
}
|