Tutorial

Set up a Docker container

You will run atfs in a container and upload a file to it.

This page only applies when you deploy to Docker.

1. Get your owner DID

You need an atproto DID or handle — the account that owns this instance. If you already have a Bluesky account, its handle works.

2. Run the container

docker run -d \
  -e ATFS_OWNER_DID=did:plc:yourowndid \
  -v atfs-data:/data \
  -p 2837:80 -p 4001:4001/tcp -p 4001:4001/udp \
  jphastings/atfs

Replace did:plc:yourowndid with your own DID or handle.

3. Confirm it is healthy

Run docker logs on the container, or visit port 2837 on your machine in a browser. See Is the device working? for what a normal startup looks like.

The log also prints a peer ID and an at:// URI. You need both for the next step.

4. Create the server record

Uploads stay off until a dev.atfs.server record exists, naming your account. See Required settings for how to create one.

Tip

Something not matching this sequence? Go to Troubleshooting.

You are done. Upload a file with the atfs CLI to confirm.