Add R2 image storage, upload endpoint, and CDN support
All checks were successful
ci/woodpecker/push/deploy Pipeline was successful

- Backend: R2StorageService, upload controller (POST /api/upload)
- Frontend: CDN url helper, NEXT_PUBLIC_CDN_URL build arg
- Deploy: pass R2 secrets from Woodpecker CI to containers via .env
- Docs: update CLAUDE.md with CDN and upload conventions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-10 02:34:27 +02:00
parent a30fe60414
commit f0f769c5e8
17 changed files with 407 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ services:
args:
- NEXT_PUBLIC_POSTHOG_KEY=phc_pe0mP58n724h9eFxanbGIUsfMyS14gnAmr5tYez9V3Q
- NEXT_PUBLIC_POSTHOG_HOST=https://eu.i.posthog.com
- NEXT_PUBLIC_CDN_URL=https://cdn.goodbrick.com.ua
container_name: gb-dev-frontend
restart: unless-stopped
ports:
@@ -24,6 +25,11 @@ services:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ConnectionStrings__Default=Host=postgres;Port=5432;Database=dev_db;Username=dev_user;Password=dev_pass_vB6nM3qP8yW2rT9k
- R2__AccountId=${R2_ACCOUNT_ID}
- R2__AccessKeyId=${R2_ACCESS_KEY_ID}
- R2__SecretAccessKey=${R2_SECRET_ACCESS_KEY}
- R2__BucketName=${R2_BUCKET_NAME:-goodbrick}
- R2__PublicUrl=https://cdn.goodbrick.com.ua
networks:
- app-network