I made a 1/2 wave dipole out of 12 gauge electrical wire stretched and attached to string trimmer line. I attached it under the roof eaves. I started with around 9 feet on each side and trimmed down the wire till I had a low SWR reading. Make sure you trim each side equally. You should end up with around 8.56 feet on each side. I was surprised how low I was able to get the SWR with a homemade antenna. Like you, I don't want a big antenna on my roof. I've tested it with my car and have been able to get out 5-8 miles. I've been plotting points on a map to look at the pattern. I'm constructed another dipole and I'm going to mount it in between trees. I'm more interested in skip which a half dipole is great for.
I use dual strand 18 gauge copper lamp cord, so with insulation and extra wire, it actually measures at optimal SWR levels at just above the 8 foot mark per side.
This is my step son's dipole, which I need to tighten up, but it talks 10 to 15 miles with ease. It's made of lamp cord from the local hardware store and RG58 coax.
Also, if you add wire terminals to the end, it lengthens the antenna and has the impact on SWR equivalent to adding about an inch of wire back on both sides, so always account for not only insulation, but terminals, and build according to what a reliable meter tells you.
SWR is 1.1 on channel 1 and 1.2 on channel 40.