Cut bacon into one-inch pieces. Add bacon to a large Dutch oven and cook over medium-high heat, stirring occasionally, until crisp, about 20 minutes. Using slotted spoon, transfer bacon to paper towel-lined plate, leaving rendered fat in pot. Return pot to medium heat, add onion, garlic, and shallot, and cook until onion is translucent, about 10 minutes. Return bacon to pot and stir in the rest of the ingredients. Bring to simmer and cook, stirring occasionally to prevent scorching until mixture achieves jam consistency, about 1 hour. Remove from heat and allow mixture to cool for 15 minutes. Once cool, use slotted spoon to transfer mixture to food processor, leaving behind excess fat. Pulse until finely chopped, about 5 pulses, or until mixture has reached desired consistency. Serve immediately or refrigerate for up to 2 weeks.