Local Storage Setup¶
Use MinIO to simulate Cloudflare R2 during development.
Prerequisites¶
- Docker and Docker Compose installed
- Backend configured for local development
Start MinIO¶
This starts MinIO with:
- API: http://localhost:9000
- Console: http://localhost:9001
- Credentials: minioadmin / minioadmin
Configure Backend¶
Update appsettings.Development.json:
{
"ObjectStorage": {
"Provider": "MinIO",
"Endpoint": "http://localhost:9000",
"AccessKeyId": "minioadmin",
"SecretAccessKey": "minioadmin",
"BucketName": "unicorn-trails",
"UseHttps": false
}
}
Create Bucket¶
- Open MinIO Console: http://localhost:9001
- Login with minioadmin / minioadmin
- Create bucket named
unicorn-trails - Set bucket policy to allow public read (for image viewing)
Verify Setup¶
- Start the backend:
dotnet run - Start the frontend:
npm run dev - Try uploading a profile picture or marker image
- Check MinIO Console to see uploaded files
Stopping¶
To remove data:
Production¶
Production uses Cloudflare R2 with different credentials. See Integrations.
Related¶
- Dev Setup — Full dev environment
- File Storage — Upload flow