Fedify
Running it
The habits that take a fedify app from federating to running in production — each with the manual page that covers it.
Split web and worker. Serve HTTP in one process; run the queue with
manuallyStartQueue + startQueue in another. Both Hollo and Hackers' Pub
converged on this after slow federation work degraded user-facing requests.
manual/mq ·
manual/deploy.
Behind a proxy, pin the origin. Set the origin option (or the
x-forwarded-fetch middleware) so signatures verify against your public URL
rather than the rewritten internal Host.
manual/federation.
Leave the safety rails on. Signature verification is on by default (manual/inbox); the document loader refuses private addresses (manual/federation § allowPrivateAddress). Both mark the line between "appears to work" and "is safe" — relax them only in tests (manual/test).
Debug with the CLI, lint in your editor. fedify lookup inspects any
remote object, fedify inbox gives you a throwaway inbox, fedify tunnel
exposes your dev server over HTTPS (CLI reference).
The @fedify/lint plugin catches interop mistakes — a missing key pair, an
outbox listener that never delivers — as you type
(manual/lint). And
DrFed, the team's dedicated ActivityPub debugger, is
on the way.
Start from the tutorials, not the API reference. The basics tutorial and the federated microblog walk the whole path. There's an llms.txt if your editor's AI is doing the reading.