BYOS (Bring Your Own Storage)
BYOS mode uploads assets directly to your own infrastructure. No Reshot account required.
AWS S3
Upload assets to an S3 bucket:
JSON
{
"storage": {
"type": "s3",
"bucket": "my-company-assets",
"region": "us-east-1",
"pathPrefix": "docs/v2",
"publicDomain": "https://assets.mycompany.com"
}
}
Required Environment Variables
Terminal
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
Configuration Options
| Property | Description |
|---|---|
bucket | S3 bucket name |
region | AWS region |
pathPrefix | Optional path prefix for all assets |
publicDomain | Public URL for accessing assets |
Cloudflare R2
Upload assets to R2 storage:
JSON
{
"storage": {
"type": "r2",
"bucket": "my-assets",
"accountId": "your-cloudflare-account-id",
"publicDomain": "https://pub-r2.mycompany.com"
}
}
Required Environment Variables
Terminal
R2_ACCESS_KEY_ID=your-r2-access-key
R2_SECRET_ACCESS_KEY=your-r2-secret-key
Local Filesystem
Copy assets to a local directory (great for Git-committed assets or static site deployments):
JSON
{
"storage": {
"type": "local",
"outputDir": "./public/reshot-assets",
"publicDomain": "/reshot-assets"
}
}
This is perfect for:
- Committing assets to Git
- Deploying with Vercel/Netlify
- Self-hosted documentation sites
Comparison
| Feature | Platform | S3/R2 | Local |
|---|---|---|---|
| Review Queue | ✓ | ✗ | ✗ |
| Version History | ✓ | ✗ | Git |
| CDN Delivery | ✓ | Configure | Host |
| GitHub Integration | ✓ | ✗ | ✗ |
| No Account Required | ✗ | ✓ | ✓ |
BYOS is ideal for teams that want full control over their assets or have compliance requirements that prevent using third-party storage.