Blixt Documentation v2.9

This quickstart uses Amazon S3. The steps are the same for other providers: only the credentials and the bucket scheme change. See Cloud credentials.

You need

  • Docker, on Linux or MacOS
  • An S3 bucket, and AWS credentials that can read and write it in ~/.aws/credentials
  • An NFS client: built into MacOS; sudo apt install nfs-common on Debian and Ubuntu

1. Start BlixtFS

mkdir -p ~/blixt-data

docker run -d --name blixt --privileged \
  -p 127.0.0.1:2049:2049 \
  -v ~/blixt-data:/data \
  -v ~/.aws/credentials:/config/aws/credentials:ro \
  blixtfs/standard:latest \
  --aws_default_region us-east-1 \
  --default_cloud aws s3://YOUR-BUCKET

Replace YOUR-BUCKET with your bucket’s name, and us-east-1 with its region. The container looks for AWS credentials at /config/aws/credentials.

2. Wait for it to be ready

docker logs -f blixt

Once the log shows your bucket being served, press Ctrl+C to stop following it. For a bucket with many objects, the first indexing takes a little longer.

3. Mount it

# Linux
sudo mkdir -p /mnt/blixt
sudo mount -t nfs -o vers=4 127.0.0.1:/ /mnt/blixt
cd /mnt/blixt/aws/YOUR-BUCKET

# MacOS
mkdir -p ~/blixt
sudo mount -t nfs -o vers=4,noresvport 127.0.0.1:/ ~/blixt
cd ~/blixt/aws/YOUR-BUCKET

4. Try it

ls -la
echo "hello from BlixtFS" > hello.txt
cat hello.txt

Now look in the bucket with the AWS CLI. hello.txt is there as an ordinary object:

aws s3 ls s3://YOUR-BUCKET/
aws s3 cp s3://YOUR-BUCKET/hello.txt -

It works the other way too. Upload an object with the AWS CLI and it appears in the mount within a few seconds:

echo "hello from S3" | aws s3 cp - s3://YOUR-BUCKET/from-s3.txt
ls

5. Clean up

cd ~
sudo umount /mnt/blixt        # or ~/blixt on MacOS
docker rm -f blixt
rm -rf ~/blixt-data           # BlixtFS's local state; your bucket is untouched

Next steps