Settings reference
Every `ATFS_*` environment variable atfs recognizes, fully documented — its default, and what it does.
For a guided walkthrough of the settings a first setup actually needs, see Required settings.
ATFS_OWNER_DID
Default: (required) — Applies to: every deployment
The atproto DID or handle that owns the instance. Setting this does not
itself grant upload rights — the owner must also appear in accounts on
the instance’s dev.atfs.server record.
ATFS_DATA_DIR
Default: Docker: /data. SBC with eMMC: the eMMC. SBC without eMMC:
the SD card’s own /data partition. Bare binary: ./data. — Applies to: every deployment
Where blobs and the libp2p identity key are stored.
ATFS_IDENTITY_KEY
Default: (empty — generated on first run) — Applies to: every deployment
The libp2p private key the instance’s peer ID derives from, base64-encoded. Set this only to hand an instance an identity in advance, or to restore one onto a data directory that lost it.
ATFS_FORMAT_DRIVES_IF_NOT_ATFS
Default: (empty — nothing authorized) — Applies to: SBC with eMMC only
Today’s UTC date, in YYYY-MM-DD form, not true. Authorizes formatting
a foreign eMMC, or rebuilding atfs’s own unhealthy volume.
ATFS_HTTP_PORT
Default: 2837 (80 in Docker) — Applies to: every deployment
The plain-HTTP listen port. Setting this to 0 disables the plain-HTTP
transport entirely.
ATFS_HTTP_HOSTNAMES
Default: (empty — any hostname accepted) — Applies to: every deployment
A comma-separated Host-header allowlist. A request naming any other host
gets 421 Misdirected Request.
Note
ATFS_FORMAT_DRIVES_IF_NOT_ATFS takes a real date on purpose. A boolean
could ship baked into an image and be forgotten; a date has to be typed
fresh, on the day, by someone looking at the board.
See also
- ATFS-NO-OWNER and ATFS-BAD-OWNER — what
happens when
ATFS_OWNER_DIDis missing or malformed. - ATFS-EMMC-FOREIGN and ATFS-EMMC-UNHEALTHY —
what
ATFS_FORMAT_DRIVES_IF_NOT_ATFSactually authorizes.