- POST /api/admin/upload با احراز هویت JWT: ذخیره فایل در باکت S3 و برگرداندن URL نسبی /media/<سال>/<ماه>/<uuid>.<پسوند> - فرمتهای مجاز: jpg، png، webp، gif، avif — حداکثر ۱۰ مگابایت (قابل تنظیم) - افزودن boto3 و python-multipart به وابستگیها - تنظیمات جدید: S3_ENDPOINT، S3_ACCESS_KEY، S3_SECRET_KEY، S3_BUCKET، MEDIA_PUBLIC_BASE، MEDIA_MAX_UPLOAD_MB (قابل تعریف در .env) - URL نسبی برمیگردد تا بکاند ذخیرهسازی (MinIO/R2/هر S3) بدون تغییر محتوای دیتابیس قابل تعویض باشد - بهروزرسانی .env.example و README (بخش تصاویر و MinIO)
30 lines
1.4 KiB
Bash
30 lines
1.4 KiB
Bash
# کپی کنید و نام آن را بگذارید .env — مقادیر را با تنظیمات خودتان جایگزین کنید
|
|
|
|
# رشته اتصال به PostgreSQL (پسورد، نام کاربری و نام دیتابیس را تنظیم کنید)
|
|
DATABASE_URL=postgresql+psycopg://postgres:YOUR_PASSWORD@localhost:5432/arameshplaza_api
|
|
|
|
# کلید امضای توکن JWT — حتماً یک مقدار تصادفی طولانی بگذارید
|
|
SECRET_KEY=change-me-to-a-long-random-string
|
|
|
|
# مدت اعتبار توکن مدیریت بر حسب دقیقه (پیشفرض: ۲۴ ساعت)
|
|
ACCESS_TOKEN_EXPIRE_MINUTES=1440
|
|
|
|
# آدرسهای مجاز برای CORS (لیست JSON — آدرس فرانتاند خود را اضافه کنید)
|
|
CORS_ORIGINS=["http://localhost:5173","http://127.0.0.1:5173"]
|
|
|
|
# مشخصات ادمین پیشفرض که هنگام seed ساخته میشود
|
|
ADMIN_USERNAME=admin
|
|
ADMIN_PASSWORD=aramesh123
|
|
|
|
# Object Storage (MinIO) برای آپلود تصاویر پنل مدیریت
|
|
S3_ENDPOINT=http://localhost:9000
|
|
S3_ACCESS_KEY=aramesh
|
|
S3_SECRET_KEY=change-me-minio-secret
|
|
S3_BUCKET=aramesh-media
|
|
|
|
# پیشوند عمومی مسیر تصاویر — پروکسی Reverse باید آن را به باکت برساند
|
|
MEDIA_PUBLIC_BASE=/media
|
|
|
|
# حداکثر حجم آپلود تصویر (مگابایت)
|
|
MEDIA_MAX_UPLOAD_MB=10
|