Heat oven to 325 degrees and drop the oven rack to the bottom third of the oven. Place ham in a roasting pan. Add one cup of water to the bottom of the pan and cover with foil. Place ham in the preheated oven. (You will want to check the package of your ham. It will have instructions for cooking that particular ham. Some have higher temps and lower time. Some lower temps and higher time. Both will get you a tasty ham.)
You will want ham to cook approximately 20 minutes per pound, or until it reaches an internal temperature of 145 degrees at the thickest part of the ham without touching the bone. The simplest way to check that is with a good meat thermometer.
About an hour before your ham is ready to come out of the oven, make your glaze by melting the butter in a small sauce pan, add shallots and cook until they are soft. Add peach or apricot jam, honey and chipotle flakes. The heat will make the glaze thinner. You don't need it to boil, just heat until you can whisk it all together. Turn off the heat and sit the sauce aside to cool. It will thicken as it cools and that will make it easier to brush on the ham.
About 40 minutes before the end of the cooking time, remove the ham from the oven, discard the foil. Brush ham with about half of the glaze and return it to the oven. Repeat this step with the remainder of the glaze about 20 minutes later. Remove the ham from the oven when it reaches the correct internal temperature.
Let the ham stand for 15-20 minutes before slicing. Enjoy!