Initial commit
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
# 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/)
|
||||
Reference in New Issue
Block a user