Whisk together pineapple juice, brown sugar, soy sauce, vinegar, grated garlic, black pepper, garlic powder, and food coloring or beetroot powder if using.
Place ham in a large bowl. Pour marinade over the ham, making sure it gets between the slices.
Cover and marinate overnight in the refrigerator.
Preheat oven to 350°F. Set ham on a rack over a sheet tray.
Roast for 40 minutes, loosely tented with foil.
Transfer marinade to a saucepan and simmer until reduced to a thick glaze.
Brush ham generously with glaze throughout the cooking process.
Increase oven temperature to 425°F and continue roasting until caramelized, brushing with glaze several more times.
Rest briefly, then serve.
