Do you have electricity? The best solution is a ceramic heater. Small size, inexpensive, safe. That is what I use all winter.
I also have a force 10 propane heater for when away from the dock. Works well but goes through propane pretty fast. Mine is very old - bought in 1990. The piezo igniter is shot so I use a fire starter. One repeating issue is that the pinhole gas jet keeps corroding and clogging. I have gotten good at cleaning it but it clogs again too quickly.
Any form of combustion that is not vented will load your boat with moisture - the condensation will cause mold. Dry heat is the only way to go.