در پنجرهٔ تعویض کانتینر فرانتاند، درخواستِ هشِ جدید که در dist کانتینرِ در
حال اجرا نبود با fallback اسپا پاسخ 200ٔ text/html میگرفت؛ CDN (WCDN، SMART)
همین پاسخ HTML را زیر URL فایل جاوااسکریپت با هدر immutable یکساله کش میکرد
و اسکریپت ماژول برای همهٔ بازدیدکنندهها میشکست (سایت روی پریلودر قفل میشد).
حالا فایل ناموجود در assets واقعاً 404 میدهد که کش نمیشود.
- سرویس 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 برای هممبدأ بودن در توسعه