{
	# پنل مدیریت Caddy لازم نیست — سطح حمله کمتر
	admin off
}

:80 {
	root * /srv
	encode zstd gzip

	# فایل‌های هش‌دار بیلد: کش بلندمدت بی‌رحم — ولی هرگز fallback به index.html نداشته باشند؛
	# پاسخ 200ٔ HTML برای یک مسیر /assets/* نبوده (مثلاً هنگام پنجرهٔ تعویض کانتینر در استقرار)
	# توسط CDN (WCDN، سیاست SMART) با همین هدر immutable یک سال کش می‌شود و اسکریپت ماژول
	# را برای همه بازدیدکننده‌ها می‌شکند. فایل ناموجود در assets باید 404 بدهد، نه HTML.
	@assets path /assets/*
	handle @assets {
		file_server
	}

	# مسیریابی SPA — مسیرهای ناشناختهٔ غیرasset به index.html برمی‌گردند
	handle {
		try_files {path} /index.html
		file_server
	}

	# بقیه (از جمله index.html و fallback اسپا): بدون کش مرورگر تا هر استقرار فوری دیده شود
	@notassets not path /assets/*
	header @notassets Cache-Control "no-cache"
	header @assets Cache-Control "public, immutable, max-age=31536000"
}
