Files
2026-02-17 17:27:26 +01:00

129 lines
4.2 KiB
Markdown

# Rclone Configuration Directory
This directory contains example rclone configuration files for uploading ISO images to various cloud storage providers.
## Available Configurations
- **cloudflare-r2.conf** - Cloudflare R2 (S3-compatible, zero egress fees)
- **aws-s3.conf** - Amazon S3 (highly reliable, standard pricing)
- **backblaze-b2.conf** - Backblaze B2 (affordable, low egress fees)
- **sftp.conf** - SFTP/SSH upload to any server
- **scp.conf** - SCP upload to any server
## How to Use
### 1. Choose Your Storage Provider
Select the configuration file that matches your preferred storage provider. Each file contains:
- Setup instructions
- Required GitHub secrets
- Provider-specific configuration options
### 2. Set Up GitHub Secrets
For the ISO build workflow to upload files, you need to configure GitHub secrets:
1. Go to your repository on GitHub
2. Navigate to **Settings****Secrets and variables****Actions**
3. Click **New repository secret**
4. Add the secrets required by your chosen provider (listed in the config file)
### 3. Choose Your Upload Method
The build-disk.yml workflow supports two upload methods:
#### Method A: Using rclone configs (Recommended)
This method uses the configuration files in this directory:
```yaml
# In .github/workflows/build-disk.yml, the workflow will:
# 1. Read the config from this directory
# 2. Substitute secrets automatically
# 3. Upload using rclone
```
To use this method, specify which config to use when triggering the workflow.
#### Method B: Direct environment variables (Legacy)
The workflow also supports direct environment variable configuration for backward compatibility.
### 4. Triggering the Workflow
The `build-disk.yml` workflow is triggered manually:
1. Go to **Actions** tab in your repository
2. Select **Build disk images** workflow
3. Click **Run workflow**
4. Select the platform (amd64 or arm64)
5. Enable **Upload to cloud storage** if you want to upload the ISO
## Configuration File Format
All configuration files use the rclone INI format with placeholders for secrets:
```ini
[remote-name]
type = provider_type
access_key_id = ${SECRET_NAME}
secret_access_key = ${ANOTHER_SECRET}
```
The workflow automatically replaces `${SECRET_NAME}` with the corresponding GitHub secret value.
## Customizing Configurations
You can modify these configuration files to suit your needs:
1. Edit the configuration file for your provider
2. Update the secret names in `${...}` placeholders
3. Add the corresponding secrets to your GitHub repository
4. Commit the changes
**Important:** Never commit actual credentials or secrets to the repository. Always use `${SECRET_NAME}` placeholders and GitHub secrets.
## Provider Comparison
| Provider | Setup Complexity | Cost | Egress Fees | Notes |
|----------|------------------|------|-------------|-------|
| Cloudflare R2 | Medium | $ | Free | Best for frequent downloads |
| AWS S3 | Medium | $$ | $$ | Most reliable, global reach |
| Backblaze B2 | Easy | $ | $ | Good balance of price/features |
| SFTP/SCP | Medium | Free* | Free | Requires your own server |
*Requires existing server infrastructure
## Troubleshooting
### "Permission denied" errors
- Check that your access keys are correct
- Verify IAM permissions (for AWS)
- Ensure the bucket exists and is accessible
### "Endpoint not found" errors
- Verify the endpoint URL is correct
- Check region settings
- For Cloudflare R2, ensure you're using the correct Account ID
### Upload fails silently
- Enable workflow debug logging in GitHub Actions
- Check that secrets are properly set
- Verify the rclone config syntax
## Additional Resources
- [Rclone Documentation](https://rclone.org/docs/)
- [GitHub Actions Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets)
- [Cloudflare R2 Documentation](https://developers.cloudflare.com/r2/)
- [AWS S3 Documentation](https://docs.aws.amazon.com/s3/)
- [Backblaze B2 Documentation](https://www.backblaze.com/b2/docs/)
## Need Help?
If you encounter issues:
1. Check the workflow logs in the Actions tab
2. Review the rclone documentation for your provider
3. Ask in the [Universal Blue Discord](https://discord.gg/WEu6BdFEtp)
4. Post in the [Universal Blue Forums](https://universal-blue.discourse.group/)