S3 Storage Setup Guide
This guide provides step-by-step instructions for setting up S3-compatible storage with your Disciple.Tools instance. Each provider has specific requirements and configuration steps.
Prerequisites
Before setting up S3 storage, ensure you have:
- Administrator access to your Disciple.Tools instance
- An account with your chosen S3 provider
- Basic understanding of cloud storage concepts
General Setup Process
The general process for setting up any S3 provider follows these steps:
- Create an S3 bucket with your provider
- Generate access credentials (Access Key and Secret Key)
- Configure bucket permissions for Disciple.Tools access
- Enter credentials in Disciple.Tools storage settings
- Test the connection to verify everything works
Provider-Specific Setup
AWS S3 Setup
AWS S3 is the most popular cloud storage service. Follow these steps to set up AWS S3 with Disciple.Tools:
Step 1: Create an S3 Bucket
- Log in to your AWS Management Console
- Navigate to the S3 service
- Click Create bucket
- Choose a unique bucket name (must be globally unique)
- Select your preferred region
- Configure bucket settings:
- Block Public Access: Keep all settings enabled for security
- Bucket Versioning: Optional, but recommended
- Server-side encryption: Enable for additional security
Step 2: Create IAM User and Access Keys
- Navigate to the IAM service in AWS Console
- Click Users → Create user
- Enter a username (e.g., “disciple-tools-storage”)
- Select Programmatic access only
- Attach the following policy (create custom policy if needed). Make sure to replace
your-bucket-name
with your actual bucket name:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}
- Save the Access Key ID and Secret Access Key
- In Disciple.Tools, go to Settings (D.T) → Storage
- Enable the storage connection
- Select AWS S3 as provider
- Enter your credentials:
- Access Key: Your AWS Access Key ID
- Secret: Your AWS Secret Access Key
- Region: Your bucket’s AWS region (e.g.,
us-east-1
)
- Bucket: Your S3 bucket name
- Endpoint: Leave blank for AWS S3
- Path-style endpoint: Leave disabled
MinIO Setup
MinIO is a popular self-hosted S3-compatible storage solution. Here’s how to set it up:
- Install MinIO on your server following the official documentation
- Create a bucket using the MinIO console or command line
- Set up access credentials through MinIO’s user management
- Access your MinIO console (usually at
http://your-server:9001
)
- Create a new bucket for Disciple.Tools
- Configure bucket policies for read/write access
- Create access keys for the bucket
- In Disciple.Tools, go to Settings (D.T) → Storage
- Enable the storage connection
- Select MinIO as provider
- Enter your credentials:
- Access Key: Your MinIO access key
- Secret: Your MinIO secret key
- Region: Use
us-east-1
(MinIO default)
- Bucket: Your MinIO bucket name
- Endpoint: Your MinIO server URL (e.g.,
http://your-server:9000
)
- Path-style endpoint: Enable this for MinIO
Backblaze B2 Setup
Backblaze B2 offers cost-effective cloud storage with S3-compatible API. Here’s the setup process:
Step 1: Create B2 Account and Bucket
- Sign up for a Backblaze B2 account
- Create a new bucket in the B2 console
- Choose a unique bucket name
- set the bucket type to private
- Encryption can be enabled for additional security
- Note your bucket name. Ex :
my-disciple-tools-bucket
- Note your Endpoint. Ex :
s3.us-west-000.backblazeb2.com
- Note your Region. Ex :
us-west-000
. (you get this from the endpoint, it’s the part after s3.
and before .backblazeb2.com
)
Step 2: Generate Application Keys
- In the B2 console, go to Application Keys
- Click Add a New Application Key
- Configure the key:
- Key Name: “Disciple.Tools Storage”
- Allow access to Bucket(s): Select your bucket
- Type of Access: Read and Write
- Save the Key ID and Application Key
- In Disciple.Tools, go to Settings (D.T) → Storage
- Enable the storage connection
- Select Backblaze B2 as provider
- Enter your credentials:
- Access Key: Your B2 Key ID
- Secret: Your B2 Application Key
- Region: Your B2 region (e.g.,
us-west-000
)
- Bucket: Your B2 bucket name
- Endpoint:
https://s3.us-west-000.backblazeb2.com
(adjust region)
- Path-style endpoint: Leave disabled
Cloudflare R2 Setup
Cloudflare R2 offers zero egress fees and S3-compatible storage. Here’s how to set it up:
Step 1: Create R2 Bucket
- Log in to your Cloudflare dashboard
- Navigate to R2 Object Storage
- Click Create bucket
- Enter a bucket name. You can let Cloudflare auto set the location.
- Under Settings, copy the S3 API endpoint for your account. It will look like
https://your-account-id.r2.cloudflarestorage.com
Step 2: Generate API Token
- Click R2 Object Storage section and then Manage R2 API tokens
- Click Create Account API token
- Configure the token:
- Token name: “Disciple.Tools Storage”
- Permissions: Object Read & Write
- Bucket: Select “Apply to specific buckets only” and then select your bucket
- Save the Access Key ID and Secret Access Key
- In Disciple.Tools, go to Settings (D.T) → Storage
- Enable the storage connection
- Select Cloudflare R2 as provider
- Enter your credentials:
- Access Key: Your R2 Access Key ID
- Secret: Your R2 Secret Access Key
- Region:
auto
(Cloudflare R2 default)
- Bucket: Your R2 bucket name
- Endpoint:
https://your-account-id.r2.cloudflarestorage.com
(make sure not to include /bucket-name)
- Path-style endpoint: Leave disabled for R2
Testing Your Setup
After configuring any provider, always test your connection:
- Click the Test Connection button in Disciple.Tools storage settings
- Wait for the test to complete
- Check for any error messages
- If successful, you’ll see a confirmation message

Troubleshooting Setup Issues
Common setup issues and solutions:
Connection Timeout
- Check your endpoint URL
- Verify network connectivity
- Ensure firewall allows outbound HTTPS connections
Access Denied Errors
- Verify your access keys are correct
- Check bucket permissions
- Ensure the bucket exists and is accessible
Invalid Region Errors
- Use the correct region format for your provider
- For some providers, use
auto
or us-east-1
as default
For more detailed troubleshooting, see the Storage Troubleshooting Guide.
Next Steps