Required settings
You will configure atfs with the environment variables it needs for a first setup.
atfs reads local configuration from a small set of ATFS_* environment
variables. The full table lives at Settings reference. This page explains the ones
that matter for a first setup.
ATFS_OWNER_DID is required. It names the atproto DID or handle that
owns the instance. The owner’s dev.atfs.server record is where the rest of
the instance’s configuration lives.
Setting ATFS_OWNER_DID does not grant upload rights by itself. The owner
must also appear in the dev.atfs.server record’s accounts list, the same
as any other account.
Tip
A fresh owner is not automatically an uploader. Add the owner’s own DID to accounts if it should be able to upload to its own instance.
ATFS_DATA_DIR is where blobs and the node’s libp2p identity are
stored. Its default differs by platform.
With onboard eMMC, the default is the eMMC, formatted automatically on
first boot. Without onboard eMMC, it is the SD card’s own /data partition.
The default is /data, the image’s working directory.
ATFS_IDENTITY_KEY is normally left empty. atfs generates a libp2p
identity key on first run and keeps it in the data directory. Set this
variable only to hand an instance an identity in advance. It also restores
a key onto a data directory that lost one.
Setting the variables
The common variables are the same everywhere. How you set them differs by platform.
Edit the file config/env/ATFS_OWNER_DID on the card’s atfs-boot FAT32
partition. Each setting is its own file, with a sibling .explain.md file
describing what to type into it.
See DIY editing for the full mount-and-edit walkthrough. If you would rather not edit files by hand, the setup tool sets this for you before you ever flash the card.
Pass the variable with -e on docker run:
docker run -d -e ATFS_OWNER_DID=did:plc:yourowndid -v atfs-data:/data \
-p 2837:80 jphastings/atfs Set other variables the same way, one -e KEY=VALUE per flag.