Debbie asked for a “gazebo” for her upper porch, except with the roof only tilting away from the house. So I built 2 10×10 frames out of 2x4s, joined in the middle with a single post, and put them up on her deck. Then I spray painted galvanized roofing and screwed it on. It provides shade in the summer and keeps off the rain the rest of the year. It is freestanding, but there’s not much room to move it around!
It cost a decent amount but probably a bit less than buying two gazebos.
Then she wanted a similar awning for a different unprotected exterior door on another deck.
I built it in a similar fashion, but used 2×2 fir instead of 2x4s. And attached it to the house a little bit.