The key to this is to have a bag in your freezer that you add scraps to whenever you cook. Onion tips, tails and skins; carrot peels and stems; celery tips; fennel tips; sweet potato skins; just keep them in the gallon-sized zip top bag in the freezer until the bag fills. Do not use vegetables with green or red colors or those that fall apart too much with overcooking, like zucchini, white potatoes, bell peppers, peas, or red beets (yellow beet skins can be good though).
Likewise, when you guy a rotisserie chicken from the grocery store, save all the bones and scraps! Keep that in the freezer as well in a zip top bag. For this recipe, you'll need two rotisserie chickens.
Place the chicken bones and scraps, as well as the vegetable scraps in a large bot, preferably with a pasta basket to make straining easier. Cover with water and add any of the optional items you'd like. Bring to a boil, reduce to a low boil and cover. Boil for 6-8 hours, adding water back as necessary to keep the water level up.
After 6-8 hours, strain the broth and store in pint or quart-sized plastic (do not use glass if storing in the freezer) storage containers. Set the lids on loosely and leave at room temperature to cool. Once the broth is at room temperature, place the lids on tight and put in the freezer for long-term storage, or in the fridge and use within one week.