This guide covers setting up a simple .buckia configuration file with one bucket.
Buckia supports multiple configuration file formats:
.buckia- YAML format (most common).buckia.yaml- YAML format (explicit).buckia.toml- TOML format
Important: You must define at least one bucket. The bucket name (top-level key) can be anything descriptive.
# Bucket name can be anything you want
my-project-storage:
provider: bunny
bucket_name: actual-bucket-name
token_context: demo
paths:
- "dist/"
delete_orphaned: false
max_workers: 4[my-project-storage]
provider = "bunny"
bucket_name = "actual-bucket-name"
token_context = "demo"
paths = ["dist/"]
delete_orphaned = false
max_workers = 4The cloud storage provider to use:
bunny- Bunny CDN Storages3- Amazon S3b2- Backblaze B2
provider: bunnyThe name of your storage bucket/container:
bucket_name: my-project-storageThe credential context name stored in your system keyring:
token_context: demoLocal directories to sync (defaults to current directory):
paths:
- "dist/"
- "assets/"
- "uploads/"Whether to delete remote files not present locally:
delete_orphaned: false # Safe default
# delete_orphaned: true # Use with cautionNumber of concurrent upload threads:
max_workers: 4 # Good for most connections
# max_workers: 8 # For faster connections
# max_workers: 2 # For slower connectionsAlgorithm for file integrity verification:
checksum_algorithm: sha256 # Default
# checksum_algorithm: md5 # Faster but less secureHow to handle sync conflicts:
conflict_resolution: local_wins # Default
# conflict_resolution: remote_wins
# conflict_resolution: newest_wins
# conflict_resolution: ask# Bucket name can be anything
bunny-storage:
provider: bunny
bucket_name: my-storage-zone
token_context: bunny_demo
region: "" # Bunny doesn't use regions# Bucket name can be anything
s3-storage:
provider: s3
bucket_name: my-s3-bucket
token_context: aws_demo
region: us-east-1 # Required for S3# Bucket name can be anything
b2-storage:
provider: b2
bucket_name: my-b2-bucket
token_context: b2_demo
provider_settings:
application_key_id: "001234567890abcdef0123456"pip install buckia# For Bunny CDN
buckia auth set bunny_demo --password "your-api-key"
# For AWS S3
buckia auth set aws_demo --username "access-key-id" --password "secret-access-key"
# For Backblaze B2
buckia auth set b2_demo --username "application-key-id" --password "application-key"# Test connection
buckia test-connection
# Dry run sync
buckia sync --dry-run# Bucket name can be anything
website-storage:
provider: bunny
bucket_name: my-website
token_context: website
paths:
- "dist/"
delete_orphaned: true
max_workers: 6# Bucket name can be anything
asset-storage:
provider: s3
bucket_name: my-assets
token_context: assets
region: us-west-2
paths:
- "uploads/"
- "media/"
delete_orphaned: false
max_workers: 4# Bucket name can be anything
backup-storage:
provider: b2
bucket_name: my-backups
token_context: backup
paths:
- "backups/"
delete_orphaned: false
max_workers: 2
provider_settings:
application_key_id: "your-key-id"# Sync all configured paths
buckia sync
# Dry run to see what would be synced
buckia sync --dry-run
# Verbose output
buckia sync --verbose# Show configuration
buckia config show
# Test connection
buckia test-connection
# Show sync status
buckia statusAuthentication Failed
# Check stored credentials
buckia auth list
# Re-set credentials
buckia auth set your_context --password "new-password"Sync Failures
# Check configuration
buckia config validate
# Test with dry run
buckia sync --dry-run --verbosePermission Errors
- Ensure your API key has write permissions
- Check bucket/container exists
- Verify region settings for S3
# Show all commands
buckia --help
# Show sync options
buckia sync --help
# Show configuration options
buckia config --helpOnce you have basic sync working:
- Multi-Bucket Setup - Manage multiple environments
- PDF Generation - Add HTML-to-PDF capabilities
- Team Organization - Scale to team workflows
- Advanced Sync - Fine-tune sync behavior