- سرویس 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 برای هممبدأ بودن در توسعه
13 lines
342 B
Caddyfile
13 lines
342 B
Caddyfile
:80 {
|
|
root * /srv
|
|
encode gzip
|
|
|
|
# مسیریابی SPA — مسیرهای ناشناخته به index.html برمیگردند
|
|
try_files {path} /index.html
|
|
file_server
|
|
|
|
# کش بلندمدت برای فایلهای هشدار بیلد
|
|
@assets path /assets/*
|
|
header @assets Cache-Control "public, immutable, max-age=31536000"
|
|
}
|