Combine the soy and hoisin sauces, sugar, garlic and Chinese five spice in a jug, and stir until well combined.
Place the duck in a large ceramic or glass dish and pour over the sauce mixture. Cover with plastic wrap and place in the fridge for a minimum 8 hours or overnight to marinate, turning occasionally.
Preheat oven to 200°C.
Place the onion and oil in a large roasting pan and gently toss until well coated. Drain the duck, reserving the marinade and place, breast-side down, on the onions.
Place the marinade in a small saucepan and bring to the boil over high heat. Reduce heat and simmer, uncovered, stirring occasionally, for a few minutes or until mixture thickens. Remove from heat and set aside to cool slightly.
Place the cinnamon in the cavity of the duck. Brush the duck evenly with the marinade. Cook in preheated oven for 30 minutes.
Reduce oven temperature to 180°C. Turn duck over and sprinkle the breast evenly with the salt. Cook, basting occasionally with the pan juices, for a further 55 minutes or until the juices run clear when the thigh is pierced with a skewer.
When the duck is cooked, remove from the oven and transfer to a plate. Cover loosely with foil and set aside for 10 minutes to rest. Combine the peanuts and onion slices in a large bowl. Use sharp kitchen scissors to cut along either side of the duck backbone and discard the backbone. Cut each duck half into 2 pieces and serve immediately with the onion slices and peanuts.