زیرساخت: Traefik به‌جای nginx به‌عنوان نقطه ورود واحد + سرو MinIO

- سرویس traefik:v3 روی پورت ۵۱۷۳ (پورت هاست) — تنها نقطه ورود استک:
  /       → frontend (فایل‌های استاتیک SPA)
  /api    → backend:8000
  /media  → MinIO:9000 با rewrite به باکت aramesh-media
  مسیریابی با Docker labels در docker-compose.yml
- حذف کامل nginx: Caddy فقط فایل‌های استاتیک را سرو می‌کند
  (fallback به index.html برای SPA، کش یک‌ساله immutable برای assets/)
- سرویس minio + minio-setup (ساخت خودکار باکت و دسترسی عمومی خواندن —
  یک‌بار در اولین اجرا)؛ کنسول MinIO روی پورت ۹۰۰۱
- وابستگی backend به سلامت db و minio
- vite dev: پروکسی /api و /media به Traefik برای هم‌مبدأ بودن در توسعه
This commit is contained in:
MMD
2026-09-06 20:49:17 +03:30
parent 897fac4f15
commit 3a7c7b0908
5 changed files with 104 additions and 36 deletions
+7
View File
@@ -4,4 +4,11 @@ import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
server: {
// در حالت توسعه، /api و /media به Traefik پروکسی می‌شوند (پورت ۵۱۷۳ روی هاست)
proxy: {
'/api': 'http://localhost:5173',
'/media': 'http://localhost:5173',
},
},
})