Files

Configure file storage

Attachments and artifacts need somewhere durable to live. Which backend you choose depends on whether there is more than one server instance.

Local storage is fine for a single-node development environment:

FILE_STORE_BACKEND=local
FILE_STORE_LOCAL_ROOT=/var/lib/axl/files

For production, or any deployment with more than one instance, use an S3-compatible backend so every instance sees the same files:

FILE_STORE_BACKEND=s3
FILE_STORE_S3_BUCKET=axl-files
FILE_STORE_S3_REGION=us-east-1
FILE_STORE_S3_ENDPOINT=https://s3.us-east-1.amazonaws.com

Credentials come from your deployment's normal AWS credential mechanism rather than from AXL configuration.

Changing backend

Records live in Redis and bytes live in the object store, so switching FILE_STORE_BACKEND does not move anything. Files written before the switch stay in the backend that wrote them: they keep appearing in listings, and fetching one fails with a message saying its bytes are not in the configured backend.

Copy the objects across before switching, or treat the switch as a clean start.

Storage and sandboxes are separate choices

File storage and sandbox execution are independent axes. Running the remote sandbox does not imply S3, and using local file storage does not restrict you to the local sandbox. Pick each for its own reasons.

Next

On this page