:3081 {
	root * dist

	# Match requests with trailing slashes and rewrite them
	@trailing_slash {
		path_regexp strip_slash ^(.+)/$ # Match paths ending with /
	}
	rewrite @trailing_slash {re.strip_slash.1} # Remove the trailing slash

	try_files {path}.html {path}/index.html {path}
	encode zstd gzip
	file_server

	# Cache images, videos, fonts, etc. for 1 year (365 days)
	@static_assets {
		path_regexp static_assets \.(jpg|jpeg|png|gif|svg|ico|mp4|webm|woff|woff2|eot|ttf|otf|js)$
	}
	header @static_assets Cache-Control "public, max-age=31536000, immutable"

	# Optionally, you can set a fallback for other files
	header ?Cache-Control "public, max-age=3600"

	handle_errors {
		@404 {
			expression {http.error.status_code} == 404
		}
		rewrite @404 /not-found.html
		file_server
	}
}

