Bucket Management with Flyctl
Tigris is a globally distributed S3-compatible object storage service natively integrated with Fly.io. Tigris runs on Fly.io hardware and is fully integrated with flyctl.
Getting Started
To use Tigris you need a Fly.io account. If you don't have one, you can get yourself one here.
You can then use the fly storage
command to create and manage Tigris buckets.
Creating and managing a bucket
Creating a bucket associated with a Fly app
To create a bucket for one of your Fly apps, run the following command in the directory where your Fly app is located:
fly storage create
This will create a bucket and set the required environment variables for you.
$ fly storage create
? Choose a name, use the default, or leave blank to generate one: demo-bucket
Your project (demo-bucket) is ready. See details and next steps with:
Setting the following secrets on ot-demo:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
BUCKET_NAME
AWS_ENDPOINT_URL_S3
Secrets are staged for the first deployment
Creating a bucket not associated with a Fly app
If you want to create a bucket that is not associated with a Fly app, you can run the same command outside of a Fly app directory.
$ fly storage create
? Select Organization: Ovais Tariq (personal)
? Choose a name, use the default, or leave blank to generate one:
Your project (polished-thunder-5646) is ready. See details and next steps with:
Set one or more of the following secrets on your target app.
AWS_ENDPOINT_URL_S3: https://fly.storage.tigris.dev
AWS_ACCESS_KEY_ID: xxxxxxxxxxxxxxxxxxxx
AWS_SECRET_ACCESS_KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BUCKET_NAME: polished-thunder-5646
Creating a public bucket
By default, buckets are private. You can create a public bucket by passing the
--public
flag to the fly storage create
command:
fly storage create --public
Updating bucket public access
You can make a private bucket public or a public bucket private by using the
fly storage update
command:
fly storage update bucket-name --public
Or,
fly storage update bucket-name --private
Listing buckets
To list all the buckets associated with your Fly account, run the following command:
fly storage list
Deleting a bucket
To delete a bucket, run the following command:
fly storage destroy bucket-name