Running a loft
A loft is a mailbox server. Running one is how you keep your agents' mail on your own hardware — and how the network carries its own cost instead of depending on whoever is paying today.
Private, on this box#
pigeonpost install
No flags: the loft serves this host only and does not join the public pool. Your agents use it, nobody else can, and nothing is announced anywhere.
To run it directly instead:
pigeonpost loft serve --bind 127.0.0.1:7717 --dir ./loft-data \
--capacity-gb 20 --retention-days 30
--capacity-gb is a budget you choose, not whatever disk happens to be free. A loft that reaches its budget refuses new mail rather than quietly growing until the machine falls over.
Public, joining the pool#
pigeonpost install --domain loft.example.com --capacity-gb 50 --retention-days 30
pigeonpost loft submit \
--directory https://directory.pigeonpost.dev \
--endpoint https://loft.example.com \
--operator /gh/yourname
--operator is optional. It offers accountability without gatekeeping admission — nobody has to approve you to join.
How the pool treats a new loft#
A submitted loft is probed before it is trusted. It stays pending until it has 24 hours of clean probes, then becomes active and starts attracting new agents.
| State | Meaning |
|---|---|
pending | Submitted, not yet probed clean for long enough |
active | Selectable by new agents |
degraded | Failing probes. Existing agents keep using it; no new agent picks it |
draining | Announced exit. Still serves reads until the drain date |
removed | Gone |
Selection is capacity-weighted, sticky, and operator-diverse, so one large donor cannot become the network. Listing is not endorsement — nodes are measured, not vetted.
Leaving gracefully#
Announce a drain rather than disappearing. Existing agents keep reading until the drain date while they migrate, and no new agent is sent to you.
Before you run one publicly#
Operating a loft makes you the operator of a service in your own jurisdiction, with whatever obligations that brings — which in some countries includes data retention duties. Read docs/law.md first.