*.sharkeyeyeyeyey.beeper.synth.download { handle /.well-known/atproto-did { rewrite * /.well-known/atproto-did?protocol=ap&id=%40{http.request.host.labels.3}%40booping.synth.download reverse_proxy https://fed.brid.gy { header_up Host fed.brid.gy } } } sharkeyeyeyeyey.beeper.synth.download { @activity_pub `header({'Content-Type': 'application/activity+json*'}) || header({'Content-Type': 'application/ld+json*'}) || header({'Accept': 'application/activity+json*'}) || header({'Accept': 'application/ld+json*'})` route { # activitypub service reverse_proxy @activity_pub http://127.0.0.1:47815 reverse_proxy /api/admin/federation/refresh-remote-instance-metadata http://127.0.0.1:47815 reverse_proxy /api/notes/polls/refresh http://127.0.0.1:47815 reverse_proxy /api/federation/update-remote-user http://127.0.0.1:47815 reverse_proxy /api/ap/get http://127.0.0.1:47815 reverse_proxy /api/ap/show http://127.0.0.1:47815 # media service reverse_proxy /files/* http://127.0.0.1:57378 reverse_proxy /emoji/* http://127.0.0.1:57378 reverse_proxy /avatar/* http://127.0.0.1:57378 reverse_proxy /url http://127.0.0.1:57378 reverse_proxy /twemoji-badge/* http://127.0.0.1:57378 reverse_proxy /identicon/* http://127.0.0.1:57378 # api + web frontend (+ general fallback) reverse_proxy http://127.0.0.1:60628 } import common-settings import log sharkey import robots-txt }