Files
SocialPub/tools/pasture/Caddyfile
T
thepraandClaude Opus 5.5 5f150b7a59 Pasture: Smithereen 1.0.3, and failed server descriptions retried
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
2026-10-05 22:03:35 +02:00

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
}