Reference

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