Melt butter/ghee in saute pan. Add shallot and cook until translucent, stirring occasionally.
In a large bowl, whisk the milk, eggs, Gruyere 3/4 cup Parmesan cheese, cayenne, salt, and pepper in a large bowl.
Add the bread cubes, cooked shallot, spinach leaves, half the chopped basil leaves, and half the sun-dried tomatoes, folding gently to coat.
Pour mixture into 3 quart baking dish, then top with remaining basil and tomatoes.
Cover and refrigerate overnight.
The next day, preheat the oven to 350 degrees. Sprinkle the strata with the remaining 1/4 cup grated Parmesan, then bake uncovered until golden brown and almost set, approximately 45 minutes.
Turn off oven, allowing strata to rest inside for an additional 10 minutes before removing from oven to serve.