The hTech OS Backup Module supports AWS S3 and S3-compatible object storage providers such as:
- DigitalOcean Spaces
- Wasabi
- Backblaze B2 (S3-compatible API)
- Linode Object Storage
- Cloudflare R2
These providers all use the same S3-compatible API and can be configured using simple form fields inside the module.
Recommended Configuration Method (Default)
Most users should use the standard text box configuration. This is the default, supported, and recommended method.
The module will automatically build the required S3 client configuration internally. You do not need to upload or paste any JSON files.
Required Fields
| Field | Description | Example |
|---|---|---|
| Provider | Select AWS S3 or Other S3-Compatible Provider | AWS S3 |
| Endpoint | S3 API endpoint URL (required for non-AWS providers) | https://nyc3.digitaloceanspaces.com |
| Region | Region used by the storage provider | us-east-1 |
| Access Key | Your S3 access key ID | AKIAxxxxxxxxxxxx |
| Secret Key | Your S3 secret access key | (hidden) |
| Bucket Name | The bucket where backups will be stored | whmcs-backups |
| Remote Path | Optional folder path inside the bucket | /daily |
Once these fields are filled out, click Save, then use the Test Connection button to verify access.
Example: DigitalOcean Spaces
- Provider: Other S3-Compatible
- Endpoint: https://nyc3.digitaloceanspaces.com
- Region: us-east-1
- Access Key: (from DigitalOcean)
- Secret Key: (from DigitalOcean)
- Bucket: my-backups
- Remote Path: /whmcs
Advanced JSON Configuration (Optional)
An Advanced JSON Configuration option may be available for power users.
This is optional and not required for any supported provider.
When enabled, the JSON configuration:
- Overrides the form-based settings
- Is intended for advanced or custom S3-compatible setups
- Must be valid JSON
Important Notes:
- Most users should NOT use this option
- Incorrect JSON may cause backups to fail
- Support may be limited when using custom JSON
If you are unsure, use the standard text box configuration instead.
Security Notes
- Access keys and secret keys are stored securely by WHMCS
- Secret keys are never displayed in plain text
- Credentials are never logged
- Always restrict credentials to the minimum required permissions
Troubleshooting
- Verify the bucket exists and is accessible
- Ensure the endpoint URL is correct for your provider
- Confirm the access key has permission to write to the bucket
- Use the Test Connection button after saving settings
If connection tests fail, review the module activity log for detailed error messages.
Summary
- Use text box configuration for all S3-compatible providers
- JSON configuration is optional and advanced
- No JSON file upload is required
- This approach provides the best compatibility and reliability