BunnyCDN Configuration
Introduction
This guide walks you through configuring BunnyCDN for media storage with Fluent Community. BunnyCDN offers affordable pricing and fast global delivery, making it a great choice for budget-conscious communities.
When to Choose BunnyCDN
BunnyCDN is ideal for communities looking for affordable storage with good performance and simple setup.
Prerequisites
- Bunny.net account
- Fluent Community Pro installed and activated
- Basic understanding of cloud storage concepts
Step 1: Create a Storage Zone
1.1 Access Bunny.net Dashboard
- Log in to your Bunny.net account
- Navigate to Storage in the left sidebar
- Click "Add Storage Zone"
1.2 Configure Storage Zone
Storage Zone Name:
- Choose a unique name (e.g.,
my-community-media) - Use lowercase letters, numbers, and hyphens only
Storage Tier:
- Standard - Best for frequently accessed files
- HDD - More affordable for archival storage
Main Storage Region:
- Select region closest to your users
- Options: Falkenstein (DE), London (UK), New York (US), Los Angeles (US), Singapore (SG), Stockholm (SE), São Paulo (BR), Johannesburg (SA), Sydney (AUS)
Replication Regions (Optional):
- Select additional regions for geo-replication
- Improves performance for global audiences
1.3 Create Storage Zone
Click "Add Storage Zone" to finalize.
Step 2: Connect Pull Zone
A Pull Zone acts as a CDN for your storage, delivering files quickly to users worldwide.
2.1 Access Connected Pull Zones
- Go to your newly created Storage Zone
- Find the "Connected Pull Zones" section
- Click "Connect Pull Zone"
2.2 Create Pull Zone
- Click "Add Pull Zone"
- Fill in the details:
Pull Zone Name:
- Choose a descriptive name (e.g.,
my-community-cdn)
Storage Zone:
- Select your Storage Zone from the dropdown
Other Settings:
- Keep default settings or adjust as needed
- Click "Add Pull Zone"
Step 3: Get Storage Zone Credentials
3.1 Access FTP & API Settings
- Go to your Storage Zone
- Click on the "FTP & API Access" tab
- Copy the Password (API Key)
Save This Password
You'll need this password to configure Fluent Community. Keep it secure!
3.2 Note Storage Region Endpoint
Based on your selected region, note the endpoint:
| Region | Endpoint |
|---|---|
| Falkenstein, DE | storage.bunnycdn.com |
| London, UK | uk.storage.bunnycdn.com |
| New York, US | ny.storage.bunnycdn.com |
| Los Angeles, US | la.storage.bunnycdn.com |
| Singapore, SG | sg.storage.bunnycdn.com |
| Stockholm, SE | se.storage.bunnycdn.com |
| São Paulo, BR | br.storage.bunnycdn.com |
| Johannesburg, SA | jh.storage.bunnycdn.com |
| Sydney, AUS | syd.storage.bunnycdn.com |
Step 4: Get Pull Zone URL
4.1 Access Pull Zone Settings
- Go to CDN → Pull Zones
- Click on your Pull Zone
- Find the "Linked Hostnames" section
- Copy the default hostname (e.g.,
my-community-cdn.b-cdn.net)
4.2 Format Public URL
Your public URL will be:
https://your-pull-zone.b-cdn.netCustom Domain
You can also configure a custom domain for better branding. See the Advanced Configuration section below.
Step 5: Configure Fluent Community
You have two options for configuration:
Option A: Using Plugin UI (Recommended for Most Users)
- Go to FluentCommunity → Settings → Features
- Find the Cloud Storage section
- Fill in the form:
Storage Provider:
- Select "BunnyCDN" from dropdown
BunnyCDN API Key:
- Paste your Storage Zone password from Step 3
BunnyCDN Storage Zone Name:
- Enter your Storage Zone name (e.g.,
my-community-media)
Primary Storage Region:
- Enter the endpoint from Step 3.2 (e.g.,
storage.bunnycdn.com)
BunnyCDN Public URL:
- Enter your Pull Zone URL from Step 4
- Format:
https://your-pull-zone.b-cdn.net - ⚠️ Make sure to include
https://
Sub Folder (Optional):
- Enter a subfolder path if you want to organize files
- Example:
community-filesorsite-name - Leave empty to store files in storage root
- Click "Save Changes"
Option B: Using wp-config.php (Recommended for Security)
Add these constants to your wp-config.php file (before the "That's all, stop editing!" line):
// BunnyCDN Configuration
define('FLUENT_COMMUNITY_CLOUD_STORAGE', 'bunny_cdn');
define('FLUENT_COMMUNITY_CLOUD_STORAGE_S3_REGION', 'storage.bunnycdn.com'); // Change to your region endpoint
define('FLUENT_COMMUNITY_CLOUD_STORAGE_ACCESS_KEY', 'YOUR_STORAGE_ZONE_PASSWORD'); // Your Storage Zone Password
define('FLUENT_COMMUNITY_CLOUD_STORAGE_BUCKET', 'my-community-media'); // Your Storage Zone Name
define('FLUENT_COMMUNITY_CLOUD_STORAGE_PUBLIC_URL', 'https://your-pull-zone.b-cdn.net'); // Your Pull Zone URL
define('FLUENT_COMMUNITY_CLOUD_STORAGE_SUB_FOLDER', 'community-files'); // OptionalReplace with your actual values:
storage.bunnycdn.com→ Your region endpoint (see table in Step 3.2)YOUR_STORAGE_ZONE_PASSWORD→ Your Storage Zone passwordmy-community-media→ Your Storage Zone namehttps://your-pull-zone.b-cdn.net→ Your Pull Zone URLcommunity-files→ Your subfolder (or remove this line)
Configuration Priority
If you configure both methods:
- ✅ wp-config.php settings take precedence
- UI settings are ignored when wp-config.php constants are defined
Testing Your Configuration
1. Upload a Test Image
- Go to your Fluent Community portal
- Create a new post
- Upload an image
- Publish the post
2. Verify Upload
- Check your Storage Zone in Bunny.net dashboard
- You should see the uploaded file
- Verify the file size and count
3. Check Image Display
- View the post in your community
- Image should load from BunnyCDN URL
- URL format:
https://your-pull-zone.b-cdn.net/path/to/image.jpg
Cost Estimation
BunnyCDN Pricing (as of 2024)
Storage:
- Standard: $0.01 per GB/month
- HDD: $0.005 per GB/month
Bandwidth (with Pull Zone):
- ✅ FREE when using Pull Zone
- Pull Zone bandwidth: $0.01-0.05 per GB (varies by region)
Example: Medium Community
Monthly Usage:
- Storage: 10 GB (Standard)
- Bandwidth: 50 GB (via Pull Zone)
Monthly Cost:
- Storage: 10 × $0.01 = $0.10
- Bandwidth: 50 × $0.01 = $0.50
- Total: ~$0.60/month
Very Affordable
BunnyCDN is one of the most affordable options, especially for communities with moderate traffic.
Important Limitations
ACL Support
Known Limitation
BunnyCDN is not fully S3-compatible and does not support ACL (Access Control Lists).
Impact:
- Document uploads will still be served via CDN
- Full URL will be used instead of signed URLs
- Files are publicly accessible via direct URL
Workaround:
- For sensitive documents, consider using a different storage provider
- Or implement application-level access control
Troubleshooting
"Access Denied" Error
Causes:
- Incorrect Storage Zone password
- Wrong Storage Zone name
- Wrong region endpoint
Solutions:
- Verify Storage Zone password is correct
- Check Storage Zone name (case-sensitive)
- Confirm region endpoint matches your Storage Zone region
- Ensure no extra spaces in credentials
"Connection Failed" Error
Causes:
- Wrong region endpoint
- Network connectivity issues
- Firewall blocking connection
Solutions:
- Double-check region endpoint from the table
- Test connection from server
- Check firewall rules
- Verify server can reach BunnyCDN endpoints
Images Not Displaying
Causes:
- Wrong Pull Zone URL
- Pull Zone not connected to Storage Zone
- CORS issues
Solutions:
- Verify Pull Zone URL is correct
- Check Pull Zone is connected to Storage Zone
- Ensure Pull Zone is enabled
- Clear browser cache
Slow Upload Speed
Causes:
- Wrong region selected
- Network latency
- Server location far from Storage Zone
Solutions:
- Choose Storage Zone region closest to your server
- Enable geo-replication for better performance
- Check server network speed
Advanced Configuration
Using Custom Domain
For better branding, you can use your own domain:
1. Add Custom Hostname in BunnyCDN
- Go to your Pull Zone → Hostnames
- Click "Add Hostname"
- Enter your domain (e.g.,
media.yourdomain.com) - Add the CNAME record to your DNS:
- Type:
CNAME - Name:
media - Value:
your-pull-zone.b-cdn.net
- Type:
2. Enable SSL
- In Pull Zone settings, go to SSL
- Enable "Free SSL" (Let's Encrypt)
- Wait for SSL certificate to be issued
3. Update Fluent Community Configuration
Update the public URL to use your custom domain:
define('FLUENT_COMMUNITY_CLOUD_STORAGE_PUBLIC_URL', 'https://media.yourdomain.com');Geo-Replication
To improve performance for global audiences:
- Go to your Storage Zone → Replication
- Enable replication for additional regions
- Files will be automatically replicated
- Users will be served from the nearest location
Cost: Additional storage charges for replicated data
Cache Configuration
Optimize Pull Zone caching:
- Go to your Pull Zone → Caching
- Adjust cache settings:
- Browser Cache Expiration: 1 day or more
- CDN Cache Expiration: 7 days or more
- Query String Caching: Enabled
Purge Cache
To clear cached files:
- Go to your Pull Zone → Purge
- Choose purge method:
- Purge All - Clear entire cache
- Purge URL - Clear specific file
- Purge Tag - Clear by tag (if configured)
Security Best Practices
- Use wp-config.php - Keep credentials out of database
- Restrict Storage Zone access - Use strong password
- Enable Pull Zone security - Token authentication, hotlink protection
- Use HTTPS only - Enable SSL for custom domains
- Monitor usage - Check analytics regularly
- Rotate passwords - Change credentials periodically
- Enable DDoS protection - Use BunnyCDN's built-in protection
Performance Optimization
Enable Optimizer
BunnyCDN Optimizer can automatically optimize images:
- Go to your Pull Zone → Optimizer
- Enable "Bunny Optimizer"
- Configure optimization settings:
- Image quality
- WebP conversion
- Lazy loading
Benefits:
- Smaller file sizes
- Faster loading
- Automatic format conversion
Enable Perma-Cache
For static files that never change:
- Go to your Pull Zone → Caching
- Enable "Perma-Cache"
- Set long cache expiration
Comparison with Other Providers
| Feature | BunnyCDN | Cloudflare R2 | Amazon S3 |
|---|---|---|---|
| Storage Cost | $0.01/GB | $0.015/GB | $0.023/GB |
| Bandwidth Cost | $0.01-0.05/GB | ✅ FREE | $0.09/GB |
| Setup Difficulty | Easy | Easy | Medium |
| S3 Compatible | ⚠️ Partial | ✅ Yes | ✅ Yes |
| ACL Support | ❌ No | ✅ Yes | ✅ Yes |
| Best For | Budget-conscious | Most communities | Enterprise |
Related Documentation
- Cloud Storage Overview - Compare all providers
- Cloudflare R2 - Recommended alternative
- Amazon S3 - Enterprise alternative
- Performance Optimization - Optimize your setup
